ryanvolpe / makehelp

Generates help documentation from embedded comments in a Makefile
Apache License 2.0
1 stars 0 forks source link

Bats v0.4.0 fails self-test [bash-3.2] #18

Open ryanvolpe opened 6 years ago

ryanvolpe commented 6 years ago

Link to Travis build: https://travis-ci.org/ryanvolpe/makehelp/jobs/345026958

Build output

$ make test
INFO Determine latest release of bats
INFO Using version v0.4.0
INFO Cloning dependency: bats@v0.4.0
Cloning into '.build-deps/bats-src'...
remote: Counting objects: 59, done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 59 (delta 0), reused 44 (delta 0), pack-reused 0
Unpacking objects: 100% (59/59), done.
Note: checking out '7b032e4b232666ee24f150338bad73de65c7b99d'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b <new-branch-name>
INFO Testing bats@v0.4.0
1..43
ok 1 no arguments prints usage instructions
ok 2 -v and --version print version number
ok 3 -h and --help print help
ok 4 invalid filename prints an error
ok 5 empty test file runs zero tests
ok 6 one passing test
ok 7 summary passing tests
ok 8 summary passing and skipping tests
ok 9 summary passing and failing tests
ok 10 summary passing, failing and skipping tests
not ok 11 one failing test
# (in test file .build-deps/bats-src/test/bats.bats, line 72)
#   `[ "${lines[2]}" = "# (in test file $RELATIVE_FIXTURE_ROOT/failing.bats, line 4)" ]' failed
ok 12 one failing and one passing test
not ok 13 failing test with significant status
# (in test file .build-deps/bats-src/test/bats.bats, line 89)
#   `[ "${lines[3]}" = "#   \`eval \"( exit \${STATUS:-1} )\"' failed with status 2" ]' failed
ok 14 failing helper function logs the test case's line number
ok 15 test environments are isolated
ok 16 setup is run once before each test
ok 17 teardown is run once after each test, even if it fails
ok 18 setup failure
ok 19 passing test with teardown failure
ok 20 failing test with teardown failure
ok 21 teardown failure with significant status
not ok 22 failing test file outside of BATS_CWD
# (in test file .build-deps/bats-src/test/bats.bats, line 156)
#   `[ "${lines[2]}" = "# (in test file $FIXTURE_ROOT/failing.bats, line 4)" ]' failed
ok 23 load sources scripts relative to the current test file
ok 24 load aborts if the specified script does not exist
ok 25 load sources scripts by absolute path
ok 26 load aborts if the script, specified by an absolute path, does not exist
ok 27 output is discarded for passing tests and printed for failing tests
ok 28 -c prints the number of tests
ok 29 dash-e is not mangled on beginning of line
ok 30 dos line endings are stripped before testing
ok 31 test file without trailing newline
ok 32 skipped tests
ok 33 extended syntax
ok 34 pretty and tap formats
ok 35 pretty formatter bails on invalid tap
ok 36 single-line tests
ok 37 running a suite with no test files
ok 38 running a suite with one test file
ok 39 counting tests in a suite
ok 40 aggregated output of multiple tests in a suite
ok 41 a failing test in a suite results in an error exit code
ok 42 running an ad-hoc suite by specifying multiple test files
ok 43 extended syntax in suite
ERROR Tests failed!
make[1]: *** [.build-deps/bats-test] Error 1
make: *** [.depcache/bats] Error 2
The command "make test" exited with 2.
ryanvolpe commented 6 years ago

Looking through the Travis build history for Bats, newer builds have no issues with this version of Bash.

Specifying make bats_use_head=1 results in a successful build.

Of course, using the HEAD revision assumes that Bats will never merge bad code… 🦄 🌈