[BIOSAL] Travis and failure
Boisvert, Sebastien
boisvert at anl.gov
Thu Nov 13 19:30:50 CST 2014
> From: George K. Thiruvathukal [gkt at cs.luc.edu]
> Sent: Thursday, November 13, 2014 5:52 PM
> To: Boisvert, Sebastien
> Cc: biosal at lists.cels.anl.gov
> Subject: Re: Travis and failure
>
>
>
>
> To not keep the world waiting, I have pushed out a fix (return $local_failures) for run-unit-tests.sh on granularity. I'll do some nanocommits to address the others. I have not tested a failed test with Travis directly, but I did
I pulled your branch. Thanks.
> temporarily modify a test
> to fail so I can ensure that the error code propagates back to make, and it was successful. Oddly, make is returning 2 when only 1 is returned by run-unit-tests.sh.
This is make that is returning 2 when there were errors.
From "man make":
EXIT STATUS
GNU make exits with a status of zero if all makefiles were successfully parsed and no targets that were built failed. A status of one will be returned if the -q flag was used and make determines
that a target needs to be rebuilt. A status of two will be returned if any errors were encountered.
> Will look into this further, but I did confirm that when all tests pass, I get 0 as the result
> of make test.
Perfect !
>
>
> Best,
> George
>
>
>
>
>
> George K. Thiruvathukal, PhD
>
> Professor of Computer Science, Loyola University Chicago
>
> Director, Center for Textual Studies and Digital Humanities
> Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> Editor in Chief, Computing in
> Science and Engineering (IEEE CS/AIP)
>
> (w) gkt.tv (v)
> 773.829.4872
>
>
>
>
>
>
>
> On Thu, Nov 13, 2014 at 4:18 PM, George K. Thiruvathukal
> <gkt at cs.luc.edu> wrote:
>
>
> Yes, of course! :) I was not speaking in terms of concrete syntax but just pointing out that you've already done the work to make it happen. (I forgot to put the word "with" after "exit".)
>
>
> Best,
> George
>
>
>
>
>
> George K. Thiruvathukal, PhD
>
> Professor of Computer Science, Loyola University Chicago
>
> Director, Center for Textual Studies and Digital Humanities
> Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> Editor in Chief, Computing in
> Science and Engineering (IEEE CS/AIP)
>
> (w) gkt.tv (v)
> 773.829.4872
>
>
>
>
>
>
>
>
> On Thu, Nov 13, 2014 at 4:17 PM, Boisvert, Sebastien
> <boisvert at anl.gov> wrote:
>
> > From: George K. Thiruvathukal [gkt at cs.luc.edu]
> > Sent: Thursday, November 13, 2014 4:14 PM
> > To: Boisvert, Sebastien
> > Cc:
> biosal at lists.cels.anl.gov
> > Subject: Re: Travis and failure
> >
> >
> >
> >
> > Looks like you're right! I can probably just exit $total_failures and be done with it.
>
> It is better if you use "return".
>
>
> This works:
>
> $ cat test.sh
> #!/bin/bash
>
> function main()
> {
> return 1
> }
>
> main
>
>
>
> >
> >
> > I'll work on this at home.
> >
> > George
> >
> >
> >
> > George K. Thiruvathukal, PhD
> >
> > Professor of Computer Science, Loyola University Chicago
> >
> > Director, Center for Textual Studies and Digital Humanities
> > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > Editor in Chief, Computing in
> > Science and Engineering (IEEE CS/AIP)
> >
> > (w)
> gkt.tv (v)
> > 773.829.4872
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Nov 13, 2014 at 4:04 PM, George K. Thiruvathukal
> > <gkt at cs.luc.edu> wrote:
> >
> >
> > Yes, it's very quick. I will try to work on it before the weekend.
> >
> >
> > Tomorrow I have to meet students to talk about their semester projects. Then it should be smooth sailing (I hope).
> >
> >
> > George
> >
> >
> >
> > George K. Thiruvathukal, PhD
> >
> > Professor of Computer Science, Loyola University Chicago
> >
> > Director, Center for Textual Studies and Digital Humanities
> > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > Editor in Chief, Computing in
> > Science and Engineering (IEEE CS/AIP)
> >
> > (w)
> gkt.tv (v)
> > 773.829.4872
> >
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Nov 13, 2014 at 4:01 PM, Boisvert, Sebastien
> > <boisvert at anl.gov> wrote:
> >
> > > From: George K. Thiruvathukal [gkt at cs.luc.edu]
> > > Sent: Thursday, November 13, 2014 3:55 PM
> > > To: Boisvert, Sebastien
> > > Cc:
> >
> biosal at lists.cels.anl.gov
> > > Subject: Re: Travis and failure
> > >
> > >
> > >
> > >
> > > Hi there,
> > >
> > >
> > > Yes, now that I wrote my first Thorium program, I can help with this. I may have to work on this over the weekend, but I will keep you posted.
> >
> > I created an issue:
> >
> >
> https://github.com/GeneAssembly/biosal/issues/818
> >
> > This should be fairly easy to implement since all 3 scripts already have a variable containing the number of
> > failures.
> >
> > Thanks.
> >
> >
> > >
> > > Best,
> > > George
> > >
> > >
> > >
> > >
> > > George K. Thiruvathukal, PhD
> > >
> > > Professor of Computer Science, Loyola University Chicago
> > >
> > > Director, Center for Textual Studies and Digital Humanities
> > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > Editor in Chief, Computing in
> > > Science and Engineering (IEEE CS/AIP)
> > >
> > > (w)
> >
> gkt.tv (v)
> > > 773.829.4872
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Nov 13, 2014 at 3:52 PM, Boisvert, Sebastien
> > > <boisvert at anl.gov> wrote:
> > >
> > > > From: George K. Thiruvathukal [gkt at cs.luc.edu]
> > > > Sent: Thursday, November 13, 2014 3:37 PM
> > > > To: Boisvert, Sebastien
> > > > Cc:
> > >
> >
> biosal at lists.cels.anl.gov
> > > > Subject: Re: Travis and failure
> > > >
> > > >
> > > >
> > > >
> > > > It looks like the run-unit-tests.sh script is actually detecting errors but not returning an exit code anywhere in the code.
> > >
> > > If you want to add the return codes:
> > >
> > > - unit-tests: you already found the script
> > > - example-tests: tests/run-examples.sh
> > > - application-tests: tests/run-application-tests.sh
> > >
> > >
> > >
> > > >
> > > >
> > > > George
> > > >
> > > >
> > > >
> > > > George K. Thiruvathukal, PhD
> > > >
> > > > Professor of Computer Science, Loyola University Chicago
> > > >
> > > > Director, Center for Textual Studies and Digital Humanities
> > > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > > Editor in Chief, Computing in
> > > > Science and Engineering (IEEE CS/AIP)
> > > >
> > > > (w)
> > >
> >
> gkt.tv (v)
> > > > 773.829.4872
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Nov 13, 2014 at 3:35 PM, George K. Thiruvathukal
> > > > <gkt at cs.luc.edu> wrote:
> > > >
> > > >
> > > > FYI, when Scala runs unit tests using "sbt test", it returns 1 if any test fails.
> > > >
> > > >
> > > >
> > > > George
> > > >
> > > >
> > > >
> > > > George K. Thiruvathukal, PhD
> > > >
> > > > Professor of Computer Science, Loyola University Chicago
> > > >
> > > > Director, Center for Textual Studies and Digital Humanities
> > > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > > Editor in Chief, Computing in
> > > > Science and Engineering (IEEE CS/AIP)
> > > >
> > > > (w)
> > >
> >
> gkt.tv (v)
> > > > 773.829.4872
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Nov 13, 2014 at 3:34 PM, George K. Thiruvathukal
> > > > <gkt at cs.luc.edu> wrote:
> > > >
> > > >
> > > > Séb,
> > > >
> > > >
> > > >
> > > > I believe the project you showed me is an example of a broken project, so that's why Travis is not detecting failure. When running unit tests, failure is supposed to result not only in *junit.xml but
> > > > also propagate an error code back to the shell, not just rely on the *junit.xml (or standard) output. The convention for this (I think you already know) is to return non-zero.
> > > >
> > > > Can you let me know what Thorium was intended to do when tests don't pass? I just did a test, and it seems like something might be broken. I modified one of the tests to fail (and it failed) but "make test" returns success to the OS:
> > > >
> > > >
> > > > gkt at cs-nuc-wtc:~/Work/biosal$ make test
> > > >
> > > > UnitTestSuite test_assembly_arc PASSED: 5 failed: 0 TOTAL: 5
> > > > UnitTestSuite test_assembly_vertex PASSED: 22 failed: 0 TOTAL: 22
> > > > UnitTestSuite test_dna_codec PASSED: 6 failed: 0 TOTAL: 6
> > > > UnitTestSuite test_dna_kmer PASSED: 6 failed: 0 TOTAL: 6
> > > > UnitTestSuite test_dna_sequence PASSED: 3 failed: 0 TOTAL: 3
> > > > UnitTestSuite test_dynamic_hash_table PASSED: 1020411 failed: 0 TOTAL: 1020411
> > > > UnitTestSuite test_fast_queue_iterator PASSED: 152 failed: 0 TOTAL: 152
> > > > UnitTestSuite test_fast_ring PASSED: 892 failed: 0 TOTAL: 892
> > > > UnitTestSuite test_hash_table_group PASSED: 43 failed: 0 TOTAL: 43
> > > > UnitTestSuite test_hash_table PASSED: 37921 failed: 0 TOTAL: 37921
> > > > UnitTestSuite test_map_delete PASSED: 400000 failed: 0 TOTAL: 400000
> > > > UnitTestSuite test_map PASSED: 2535104 failed: 0 TOTAL: 2535104
> > > > UnitTestSuite test_memory_pool PASSED: 60013 failed: 0 TOTAL: 60013
> > > > UnitTestSuite test_node PASSED: 14 failed: 0 TOTAL: 14
> > > > UnitTestSuite test_packer PASSED: 1 failed: 0 TOTAL: 1
> > > > UnitTestSuite test_queue PASSED: 33075 failed: 0 TOTAL: 33075
> > > > UnitTestSuite test_red_black_tree PASSED: 900002 failed: 0 TOTAL: 900002
> > > > Error File: tests/test_ring.c, Function: main, Line: 18
> > > > UnitTestSuite test_ring PASSED: 256 FAILED: 1 TOTAL: 257
> > > > UnitTestSuite test_ring_queue PASSED: 62139 failed: 0 TOTAL: 62139
> > > > UnitTestSuite test_set PASSED: 409052 failed: 0 TOTAL: 409052
> > > > UnitTestSuite test_statistics PASSED: 1 failed: 0 TOTAL: 1
> > > > UnitTestSuite test_string PASSED: 5 failed: 0 TOTAL: 5
> > > > UnitTestSuite test_vector PASSED: 706709 failed: 0 TOTAL: 706709
> > > > UnitTestSuite PASSED 6165832 / 6165833 FAILED 1 / 6165833
> > > > see unit-tests.junit.xml
> > > > gkt at cs-nuc-wtc:~/Work/biosal$ echo $?
> > > > 0
> > > >
> > > >
> > > > Travis is not parsing the junit output (at least not for C projects). I can obviously modify my script on Travis to ensure it does fail. But I think we *should* return non-zero when any test fails.
> > > >
> > > > Best,
> > > > George
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > George K. Thiruvathukal, PhD
> > > >
> > > > Professor of Computer Science, Loyola University Chicago
> > > >
> > > > Director, Center for Textual Studies and Digital Humanities
> > > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > > Editor in Chief, Computing in
> > > > Science and Engineering (IEEE CS/AIP)
> > > >
> > > > (w)
> > >
> >
> gkt.tv (v)
> > > > 773.829.4872
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Nov 13, 2014 at 3:10 PM, George K. Thiruvathukal
> > > > <gkt at cs.luc.edu> wrote:
> > > >
> > > >
> > > > Thanks for clarifying. I should have looked more closely at the project name. :-) Today has been busy since I arrived at the office.
> > > >
> > > >
> > > > I need to read up more on Travis to understand its approach to tests in general. I will also ask my colleague, who uses it for more traditional xUnit testing projects, too.
> > > >
> > > >
> > > > George
> > > >
> > > >
> > > >
> > > > George K. Thiruvathukal, PhD
> > > >
> > > > Professor of Computer Science, Loyola University Chicago
> > > >
> > > > Director, Center for Textual Studies and Digital Humanities
> > > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > > Editor in Chief, Computing in
> > > > Science and Engineering (IEEE CS/AIP)
> > > >
> > > > (w)
> > >
> >
> gkt.tv (v)
> > > > 773.829.4872
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Nov 13, 2014 at 3:05 PM, Boisvert, Sebastien
> > > > <boisvert at anl.gov> wrote:
> > > >
> > > > > From: George K. Thiruvathukal [gkt at cs.luc.edu]
> > > > > Sent: Thursday, November 13, 2014 2:56 PM
> > > > > To: Boisvert, Sebastien
> > > > > Subject: Re: Travis and failure
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Hi there!
> > > > >
> > > > >
> > > > > I think the problem is that the failure is not being reflected as a Unix error code (non-zero). Is it possible that your wrapper for the JUnit results is not returning a non-zero code when tests fail?
> > > >
> > > > The link I gave to you is for the project "Mean.js".
> > > >
> > > > Also, I can confirm to you that "make tests" always returns 0.
> > > >
> > > > The result is available in *junit.xml. Or you can simply grep for "FAILED" in stdout.
> > > >
> > > > No FAILED string means it worked.
> > > >
> > > >
> > > > >
> > > > > George
> > > > >
> > > > >
> > > > >
> > > > > George K. Thiruvathukal, PhD
> > > > >
> > > > > Professor of Computer Science, Loyola University Chicago
> > > > >
> > > > > Director, Center for Textual Studies and Digital Humanities
> > > > > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > > > > Editor in Chief, Computing in
> > > > > Science and Engineering (IEEE CS/AIP)
> > > > >
> > > > > (w)
> > > >
> > >
> >
> gkt.tv (v)
> > > > > 773.829.4872
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Nov 13, 2014 at 2:54 PM, Boisvert, Sebastien
> > > > > <boisvert at anl.gov> wrote:
> > > > >
> > > > > If you look at the following build:
> > > > >
> > > >
> > >
> >
> https://travis-ci.org/meanjs/mean/jobs/40710659
> > > > >
> > > > > it is written "passed" in green.
> > > > >
> > > > > Yet, if you look closely, the log file says:
> > > > >
> > > > > 13 passing (3s)
> > > > > 1 failing
> > > > >
> > > > > 1) Article Model Unit Tests: Method Save should be able to save without problems:
> > > > > Error: timeout of 2000ms exceeded
> > > > > at null.<anonymous> (/home/travis/build/meanjs/mean/node_modules/mocha/lib/runnable.js:158:19)
> > > > > at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
> > > > >
> > > > >
> > > > >
> > > > > I am not sure what is going on there.
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
>
>
>
>
>
More information about the BIOSAL
mailing list