On Thu, Feb 3, 2011 at 10:50 AM, Jan Lehnardt wrote: > > On 3 Feb 2011, at 01:17, davisp@apache.org wrote: > >> Author: davisp >> Date: Thu Feb  3 00:17:19 2011 >> New Revision: 1066704 >> >> URL: http://svn.apache.org/viewvc?rev=1066704&view=rev >> Log: >> Use shell scripts to trigger daemon errors. >> >> The old scripts were written with escript and were occasionally taking >> too long to boot the entire Erlang VM causing some of the timing based >> tests to fail. Using shell scripts should minimize the process start >> up times to avoid these spurious errors. > > `make distcheck` fails for me: > > make[2]: *** No rule to make target `172-os-daemon-errors.1.es', needed by `distdir'.  Stop. > make[1]: *** [distdir] Error 1 > make: *** [distdir] Error 1 > My bad. Forgot to update names in the makefiles. > After applying this patch http://friendpaste.com/49cod1G1nYVLSbTd4VJu1e which sanitises test/etap/Makefile.am and sets +x for 172-os-daemon-errors.1.sh the build works fine, but the tests fail (still as part of make `distcheck`. I appended the log below. > NOOOOOOOO, If you open that test it specifically says to *not* make that executable. The test is there to show what happens when someone forgets to set their daemon as executable. > Note that running test/etap/run test/etap/002* works fine, as does `make check`. > > I don't know how to fix this. > > Finally, the .sh scripts should start with #!/bin/sh (preferred) or #!/usr/bin/env sh but never have anything "bash" in them. Portability and all. > > Cheers > Jan > -- > >> make distcheck > ... > ./test/etap/run > Name "main::running_under_some_shell" used only once: possible typo at /usr/bin/prove5.10.0 line 3. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/001-load.t ......................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/002-icu-driver.t ................... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/002-icu-driver.t ................... Dubious, test returned 1 (wstat 256, 0x100) > No subtests run > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/010-file-basics.t .................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/011-file-headers.t ................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/020-btree-basics.t ................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/021-btree-reductions.t ............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/030-doc-from-json.t ................ > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/030-doc-from-json.t ................ Dubious, test returned 1 (wstat 256, 0x100) > Failed 26/26 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/031-doc-to-json.t .................. > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/031-doc-to-json.t .................. Dubious, test returned 1 (wstat 256, 0x100) > Failed 12/12 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/040-util.t ......................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/041-uuid-gen.t ..................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/050-stream.t ....................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/060-kt-merging.t ................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/061-kt-missing-leaves.t ............ ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/062-kt-remove-leaves.t ............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/063-kt-get-leaves.t ................ ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/064-kt-counting.t .................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/065-kt-stemming.t .................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/070-couch-db.t ..................... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/070-couch-db.t ..................... Dubious, test returned 1 (wstat 256, 0x100) > Failed 4/4 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/080-config-get-set.t ............... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/081-config-override.t .............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/082-config-register.t .............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/083-config-no-files.t .............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/090-task-status.t .................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/100-ref-counter.t .................. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/110-replication-httpc.t ............ > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/110-replication-httpc.t ............ Dubious, test returned 1 (wstat 256, 0x100) > Failed 6/6 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/111-replication-changes-feed.t ..... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/111-replication-changes-feed.t ..... Dubious, test returned 1 (wstat 256, 0x100) > Failed 13/13 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/112-replication-missing-revs.t ..... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/112-replication-missing-revs.t ..... Dubious, test returned 1 (wstat 256, 0x100) > Failed 12/12 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/113-replication-attachment-comp.t .. > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/113-replication-attachment-comp.t .. Dubious, test returned 1 (wstat 256, 0x100) > Failed 45/45 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/120-stats-collect.t ................ ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/121-stats-aggregates.t ............. ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/130-attachments-md5.t .............. > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/130-attachments-md5.t .............. Dubious, test returned 1 (wstat 256, 0x100) > Failed 16/16 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/140-attachment-comp.t .............. > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/140-attachment-comp.t .............. Dubious, test returned 1 (wstat 256, 0x100) > Failed 86/86 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/150-invalid-view-seq.t ............. > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/150-invalid-view-seq.t ............. Dubious, test returned 1 (wstat 256, 0x100) > Failed 10/10 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/160-vhosts.t ....................... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/160-vhosts.t ....................... Dubious, test returned 1 (wstat 256, 0x100) > Failed 14/14 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/170-os-daemons.t ................... ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/171-os-daemons-config.t ............ ok > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/172-os-daemon-errors.t ............. Failed 3/36 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/173-os-daemon-cfg-register.t ....... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/173-os-daemon-cfg-register.t ....... Dubious, test returned 1 (wstat 256, 0x100) > Failed 27/27 subtests > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/180-http-proxy.t ................... > Crash dump was written to: erl_crash.dump > init terminating in do_boot () > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/180-http-proxy.t ................... Dubious, test returned 1 (wstat 256, 0x100) > Failed 61/61 subtests > > Test Summary Report > ------------------- > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/002-icu-driver.t                 (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: No plan found in TAP output > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/030-doc-from-json.t              (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 26 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/031-doc-to-json.t                (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 12 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/070-couch-db.t                   (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 4 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/110-replication-httpc.t          (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 6 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/111-replication-changes-feed.t   (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 13 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/112-replication-missing-revs.t   (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 12 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/113-replication-attachment-comp.t (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 45 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/130-attachments-md5.t            (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 16 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/140-attachment-comp.t            (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 86 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/150-invalid-view-seq.t           (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 10 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/160-vhosts.t                     (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 14 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/172-os-daemon-errors.t           (Wstat: 0 Tests: 36 Failed: 3) >  Failed tests:  5-7 > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/173-os-daemon-cfg-register.t     (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 27 tests but ran 0. > /Users/jan/Work/couchdb-git/apache-couchdb-1.2.0a68d81b1-git/_build/../test/etap/180-http-proxy.t                 (Wstat: 256 Tests: 0 Failed: 0) >  Non-zero exit status: 1 >  Parse errors: Bad plan.  You planned 61 tests but ran 0. > Files=39, Tests=386, 47 wallclock secs ( 0.25 usr  0.18 sys + 17.44 cusr 11.87 csys = 29.74 CPU) > Result: FAIL > Failed 15/39 test programs. 3/386 subtests failed. > make[1]: *** [check] Error 1 > make: *** [distcheck] Error 2 > > > > >> >> Thanks to Adam Kocoloski for pointing out my ineptitude. >> Fixes COUCHDB-1055 >> >> >> Added: >>    couchdb/trunk/test/etap/172-os-daemon-errors.1.sh >>    couchdb/trunk/test/etap/172-os-daemon-errors.2.sh   (with props) >>    couchdb/trunk/test/etap/172-os-daemon-errors.3.sh   (with props) >>    couchdb/trunk/test/etap/172-os-daemon-errors.4.sh   (with props) >> Removed: >>    couchdb/trunk/test/etap/172-os-daemon-errors.1.es >>    couchdb/trunk/test/etap/172-os-daemon-errors.2.es >>    couchdb/trunk/test/etap/172-os-daemon-errors.3.es >>    couchdb/trunk/test/etap/172-os-daemon-errors.4.es >> Modified: >>    couchdb/trunk/test/etap/172-os-daemon-errors.t >> >> Added: couchdb/trunk/test/etap/172-os-daemon-errors.1.sh >> URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/172-os-daemon-errors.1.sh?rev=1066704&view=auto >> ============================================================================== >> --- couchdb/trunk/test/etap/172-os-daemon-errors.1.sh (added) >> +++ couchdb/trunk/test/etap/172-os-daemon-errors.1.sh Thu Feb  3 00:17:19 2011 >> @@ -0,0 +1,17 @@ >> +#! /usr/bin/env bash -e >> +# >> +# Licensed under the Apache License, Version 2.0 (the "License"); you may not >> +# use this file except in compliance with the License. You may obtain a copy of >> +# the License at >> +# >> +#   http://www.apache.org/licenses/LICENSE-2.0 >> +# >> +# Unless required by applicable law or agreed to in writing, software >> +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT >> +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the >> +# License for the specific language governing permissions and limitations under >> +# the License. >> +# >> +# Please do not make this file executable as that's the error being tested. >> + >> +sleep 5 >> \ No newline at end of file >> >> Added: couchdb/trunk/test/etap/172-os-daemon-errors.2.sh >> URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/172-os-daemon-errors.2.sh?rev=1066704&view=auto >> ============================================================================== >> --- couchdb/trunk/test/etap/172-os-daemon-errors.2.sh (added) >> +++ couchdb/trunk/test/etap/172-os-daemon-errors.2.sh Thu Feb  3 00:17:19 2011 >> @@ -0,0 +1,15 @@ >> +#! /usr/bin/env bash -e >> +# >> +# Licensed under the Apache License, Version 2.0 (the "License"); you may not >> +# use this file except in compliance with the License. You may obtain a copy of >> +# the License at >> +# >> +#   http://www.apache.org/licenses/LICENSE-2.0 >> +# >> +# Unless required by applicable law or agreed to in writing, software >> +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT >> +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the >> +# License for the specific language governing permissions and limitations under >> +# the License. >> + >> +exit 1 >> \ No newline at end of file >> >> Propchange: couchdb/trunk/test/etap/172-os-daemon-errors.2.sh >> ------------------------------------------------------------------------------ >>    svn:executable = * >> >> Added: couchdb/trunk/test/etap/172-os-daemon-errors.3.sh >> URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/172-os-daemon-errors.3.sh?rev=1066704&view=auto >> ============================================================================== >> --- couchdb/trunk/test/etap/172-os-daemon-errors.3.sh (added) >> +++ couchdb/trunk/test/etap/172-os-daemon-errors.3.sh Thu Feb  3 00:17:19 2011 >> @@ -0,0 +1,15 @@ >> +#! /usr/bin/env bash -e >> +# >> +# Licensed under the Apache License, Version 2.0 (the "License"); you may not >> +# use this file except in compliance with the License. You may obtain a copy of >> +# the License at >> +# >> +#   http://www.apache.org/licenses/LICENSE-2.0 >> +# >> +# Unless required by applicable law or agreed to in writing, software >> +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT >> +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the >> +# License for the specific language governing permissions and limitations under >> +# the License. >> + >> +sleep 1 >> \ No newline at end of file >> >> Propchange: couchdb/trunk/test/etap/172-os-daemon-errors.3.sh >> ------------------------------------------------------------------------------ >>    svn:executable = * >> >> Added: couchdb/trunk/test/etap/172-os-daemon-errors.4.sh >> URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/172-os-daemon-errors.4.sh?rev=1066704&view=auto >> ============================================================================== >> --- couchdb/trunk/test/etap/172-os-daemon-errors.4.sh (added) >> +++ couchdb/trunk/test/etap/172-os-daemon-errors.4.sh Thu Feb  3 00:17:19 2011 >> @@ -0,0 +1,15 @@ >> +#! /usr/bin/env bash -e >> +# >> +# Licensed under the Apache License, Version 2.0 (the "License"); you may not >> +# use this file except in compliance with the License. You may obtain a copy of >> +# the License at >> +# >> +#   http://www.apache.org/licenses/LICENSE-2.0 >> +# >> +# Unless required by applicable law or agreed to in writing, software >> +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT >> +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the >> +# License for the specific language governing permissions and limitations under >> +# the License. >> + >> +sleep 2 >> \ No newline at end of file >> >> Propchange: couchdb/trunk/test/etap/172-os-daemon-errors.4.sh >> ------------------------------------------------------------------------------ >>    svn:executable = * >> >> Modified: couchdb/trunk/test/etap/172-os-daemon-errors.t >> URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/172-os-daemon-errors.t?rev=1066704&r1=1066703&r2=1066704&view=diff >> ============================================================================== >> --- couchdb/trunk/test/etap/172-os-daemon-errors.t (original) >> +++ couchdb/trunk/test/etap/172-os-daemon-errors.t Thu Feb  3 00:17:19 2011 >> @@ -30,16 +30,16 @@ config_files() -> >>     ]). >> >> bad_perms() -> >> -    test_util:source_file("test/etap/172-os-daemon-errors.1.es"). >> +    test_util:source_file("test/etap/172-os-daemon-errors.1.sh"). >> >> die_on_boot() -> >> -    test_util:source_file("test/etap/172-os-daemon-errors.2.es"). >> +    test_util:source_file("test/etap/172-os-daemon-errors.2.sh"). >> >> die_quickly() -> >> -    test_util:source_file("test/etap/172-os-daemon-errors.3.es"). >> +    test_util:source_file("test/etap/172-os-daemon-errors.3.sh"). >> >> can_reboot() -> >> -    test_util:source_file("test/etap/172-os-daemon-errors.4.es"). >> +    test_util:source_file("test/etap/172-os-daemon-errors.4.sh"). >> >> main(_) -> >>     test_util:init_code_path(), >> >> > >