One alternative would be to patch the test_Wise.py file so that instead of
self.assert_(sys.stdout.getvalue().startswith("dnal -kbyte 100000 seq1.fna seq2.fna")) within test_dnal we'd have self.assert_(sys.stdout.getvalue().startswith("dnal -kbyte 100000") and similarly for test_psw. That would have the advantage of actually testing those functions instead of always ignoring problems with them. But perhaps there is a more sophisticated solution without patching; unfortunately I'm not a bash expert either. -Marshall On Oct 9, 10:05 am, MaxTheMouse <maxthemo...@googlemail.com> wrote: > Hi all, > > I am playing around with the new biopython spkg (1.52). In particular, > I would like to have a spkg-check script to run the included tests. > This mostly works and the test skips testing modules that are not > installed. I am having one problem however. I get a failure with one > test. > > ====================================================================== > FAIL: Doctest: Bio.Wise._build_align_cmdline > ---------------------------------------------------------------------- > Traceback (most recent call last): > File ".../download/sage-4.1.2.rc0/local/lib/python/doctest.py", line > 2145, in runTest > raise self.failureException(self.format_failure(new.getvalue())) > AssertionError: Failed doctest test for Bio.Wise._build_align_cmdline > File ".../download/sage-4.1.2.rc0/spkg/build/biopython-1.52/src/ > build/lib.linux-i686-2.6/Bio/Wise/__init__.py", line 23, in > _build_align_cmdline > > ---------------------------------------------------------------------- > File ".../download/sage-4.1.2.rc0/spkg/build/biopython-1.52/src/build/ > lib.linux-i686-2.6/Bio/Wise/__init__.py", line 26, in > Bio.Wise._build_align_cmdline > Failed example: > _build_align_cmdline(["dnal"], ("seq1.fna", "seq2.fna"), "/tmp/ > output", kbyte=100000) > Expected: > 'dnal -kbyte 100000 seq1.fna seq2.fna > /tmp/output' > Got: > 'dnal -kbyte 100000 -quiet seq1.fna seq2.fna > /tmp/output' > ---------------------------------------------------------------------- > File ".../download/sage-4.1.2.rc0/spkg/build/biopython-1.52/src/build/ > lib.linux-i686-2.6/Bio/Wise/__init__.py", line 28, in > Bio.Wise._build_align_cmdline > Failed example: > _build_align_cmdline(["psw"], ("seq1.faa", "seq2.faa"), "/tmp/ > output_aa") > Expected: > 'psw -kbyte 300000 seq1.faa seq2.faa > /tmp/output_aa' > Got: > 'psw -kbyte 300000 -quiet seq1.faa seq2.faa > /tmp/output_aa' > > ---------------------------------------------------------------------- > > The reason is that there is an "if not os.isatty(sys.stderr.fileno > ()):" test in the function that adds a -quiet to the string. This test > passes if the script runs directly from the command line but fails > when using 'sage -f'. > > I am not sure what can be done to change this as I am not a bash > expert. My simple solution would be to just add a message like "Note: > There is one expected failure with Doctest: > Bio.Wise._build_align_cmdline. Other test failures should be > examined." and continue. This fail is purely an artifact of how the > testing takes place. However, if there is a better solution than I > would like to do that. > > Cheers, > Adam --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---