| #!/bin/sh -e |
| # Script to test whether travis conditions match correctly. |
| # "gem install travis-conditions". Tests .travis.yml in the cwd. |
| |
| cond_24x="`sed -n '/&condition_24x_only/{s/.*condition_24x_only//;p;q;}' .travis.yml`" |
| cond_not_24x="`sed -n '/&condition_not_24x/{s/.*condition_not_24x//;p;q;}' .travis.yml`" |
| |
| echo Condition 2.4.x: ${cond_24x} |
| echo Condition not 2.4.x: ${cond_not_24x} |
| |
| function testit() |
| { |
| local data=$1 |
| local expect=$2 |
| |
| is_24x=`travis-conditions eval "$cond_24x" --data "${data}"` |
| not_24x=`travis-conditions eval "$cond_not_24x" --data "${data}"` |
| |
| if [ $is_24x = $not_24x ]; then |
| echo FAIL: Tests as both 2.4.x and not 2.4.x for "$data" |
| return 1 |
| elif [ $expect = 2.4.x -a $is_24x = true ]; then |
| echo PASS |
| elif [ $expect = trunk ]; then |
| echo PASS |
| else |
| echo FAIL for "$data" |
| return 1 |
| fi |
| return 0 |
| } |
| |
| testit '{"tag": "2.4.49"}' 2.4.x |
| testit '{"tag": "2.5.59"}' trunk |
| testit '{"branch": "2.4.x"}' 2.4.x |
| testit '{"branch": "2.4.55-candidate"}' 2.4.x |
| testit '{"branch": "2.4-backport-branch"}' 2.4.x |
| testit '{"branch": "2.4.x-something"}' 2.4.x |
| testit '{"branch": "2.5.0"}' trunk |
| testit '{"branch": "2.5.x"}' trunk |
| testit '{"branch": "trunk"}' trunk |