#!/bin/sh

# set -x

perl=~/g/perl/perl
bisect=${perl}-bisect
dc=~/g/perl/Devel--Cover
inst=/usr/local/pkg/bisect
blead=$inst/bin/perl

case "$1" in
    "launch")
        shift
        if [ -z "$1" ]; then
            echo "usage: $0 launch your_test"
            exit 1
        fi
        test="$1"
        shift
        cd $perl
        git checkout blead
        # $bisect/Porting/bisect.pl -Dnoextensions=Encode "$@" -- $dc/$0 "$test"
        $bisect/Porting/bisect.pl -Dusedevel -Uversiononly -Dprefix=$inst "$@" -- $dc/$0 "$test"
        ;;
    "test")
        $blead -v
        ret=$?
        [ $ret -gt 127 ] && ret=127
        exit $ret
        ;;
    "bug_and")
        rm -rf $inst
        cd $perl
        make install
        # ./perl installperl -v
        cd $dc
        $blead Makefile.PL
        make
        make
        make out TEST=uncoverable
        grep -F '0     -0      1   $x and $y' uncoverable.out
        ret=$?
        [ $ret -gt 127 ] && ret=127
        exit $ret
        [ $ret -eq 0 ] && exit 1
        exit 0
        ;;
    *)
        echo cd $perl
        echo git clean -dxf
        echo cp -a $perl $bisect
        echo cd $dc
        echo edit $0 and add your_test
        echo $0 launch your_test [--start v5.14.0 --end v5.15.0]
        ;;
esac

exit

# if you need to invert the exit code, replace the exit in your test with:
[ $ret -eq 0 ] && exit 1
exit 0
