[Scons-dev] Working with SCons' tests

Rob Boehne robb at datalogics.com
Mon May 7 14:12:34 EDT 2018


All,

I have a bug, and a fix, and I’d like to write a test to demonstrate the bug and submit a patch.
(It occurs when a Jar builder is passed a File Node instead of a string)
I’ve pulled down the latest sources from github, and when I run the test suite on Windows 10 I get this output:

Failed the following 19 tests:
        test\Actions\pre-post.py
        test\Clang\clang_default_environment.py
        test\Clang\clang_shared_library.py
        test\Clang\clang_specific_environment.py
        test\Clang\clang_static_library.py
        test\Clang\clangxx_default_environment.py
        test\Clang\clangxx_shared_library.py
        test\Clang\clangxx_specific_environment.py
        test\Clang\clangxx_static_library.py
        test\M4\M4.py
        test\MSVC\MSVC_UWP_APP.py
        test\MSVS\vs-14.0-exec.py
        test\YACC\YACC.py
        test\gettext\MOFiles\UserExamples.py
        test\gettext\POInit\UserExamples.py
        test\gettext\POTUpdate\UserExamples.py
        test\gettext\POUpdate\UserExamples.py
        test\gettext\Translate\MultiCatalog.py
        test\gettext\Translate\UserExamples.py

NO RESULT from the following 226 tests:
        test\AS\as-live.py
       test\AS\ml.py
        test\AS\nasm.py
        test\CC\CCVERSION.py
        test\CPPDEFINES\pkg-config.py
        test\CPPDEFINES\scan.py
        test\CPPFLAGS.py
        test\CXX\CXXVERSION.py
        test\CacheDir\symlink.py
        test\Clean\mkfifo.py
        test\Clean\symlinks.py
        test\Copy-Symlinks.py
        test\DVIPDF\makeindex.py
        test\DVIPS\DVIPS.py
        test\D\AllAtOnce\sconstest-dmd.py
        test\D\AllAtOnce\sconstest-gdc.py
        test\D\AllAtOnce\sconstest-ldc.py
        test\D\CoreScanner\sconstest-dmd.py
        test\D\CoreScanner\sconstest-gdc.py
        test\D\CoreScanner\sconstest-ldc.py
        test\D\DMD.py
        test\D\DMD2.py
        test\D\DMD2_Alt.py
        test\D\GDC.py
        test\D\GDC_Alt.py
        test\D\HSTeoh\sconstest-arLibIssue_dmd.py
        test\D\HSTeoh\sconstest-arLibIssue_gdc.py
        test\D\HSTeoh\sconstest-arLibIssue_ldc.py
        test\D\HSTeoh\sconstest-libCompileOptions_dmd.py
        test\D\HSTeoh\sconstest-libCompileOptions_gdc.py
        test\D\HSTeoh\sconstest-libCompileOptions_ldc.py
        test\D\HSTeoh\sconstest-linkingProblem_dmd.py
        test\D\HSTeoh\sconstest-linkingProblem_gdc.py
        test\D\HSTeoh\sconstest-linkingProblem_ldc.py
        test\D\HSTeoh\sconstest-singleStringCannotBeMultipleOptions_dmd.py
        test\D\HSTeoh\sconstest-singleStringCannotBeMultipleOptions_gdc.py
        test\D\HSTeoh\sconstest-singleStringCannotBeMultipleOptions_ldc.py
        test\D\HelloWorld\CompileAndLinkOneStep\sconstest-dmd.py
        test\D\HelloWorld\CompileAndLinkOneStep\sconstest-gdc.py
        test\D\HelloWorld\CompileAndLinkOneStep\sconstest-ldc.py
        test\D\HelloWorld\CompileThenLinkTwoSteps\sconstest-dmd.py
        test\D\HelloWorld\CompileThenLinkTwoSteps\sconstest-gdc.py
        test\D\HelloWorld\CompileThenLinkTwoSteps\sconstest-ldc.py
        test\D\Issues\2939_Ariovistus\sconstest-correctLinkOptions_dmd.py
        test\D\Issues\2939_Ariovistus\sconstest-correctLinkOptions_gdc.py
        test\D\Issues\2939_Ariovistus\sconstest-correctLinkOptions_ldc.py
        test\D\Issues\2940_Ariovistus\sconstest-correctLinkOptions_dmd.py
        test\D\Issues\2940_Ariovistus\sconstest-correctLinkOptions_gdc.py
        test\D\Issues\2940_Ariovistus\sconstest-correctLinkOptions_ldc.py
        test\D\LDC.py
        test\D\LDC_Alt.py
        test\D\MixedDAndC\sconstest-dmd.py
        test\D\MixedDAndC\sconstest-gdc.py
        test\D\MixedDAndC\sconstest-ldc.py
        test\D\Scanner.py
        test\D\SharedObjects\sconstest-dmd.py
        test\D\SharedObjects\sconstest-gdc.py
        test\D\SharedObjects\sconstest-ldc.py
        test\Docbook\basedir\htmlchunked\htmlchunked.py
        test\Docbook\basedir\htmlchunked\htmlchunked_cmd.py
        test\Docbook\basedir\htmlhelp\htmlhelp.py
        test\Docbook\basedir\htmlhelp\htmlhelp_cmd.py
        test\Docbook\basedir\slideshtml\slideshtml.py
        test\Docbook\basedir\slideshtml\slideshtml_cmd.py
        test\Docbook\basic\epub\epub.py
        test\Docbook\basic\epub\epub_cmd.py
        test\Docbook\basic\html\html.py
        test\Docbook\basic\html\html_cmd.py
        test\Docbook\basic\htmlchunked\htmlchunked.py
        test\Docbook\basic\htmlchunked\htmlchunked_cmd.py
        test\Docbook\basic\htmlhelp\htmlhelp.py
        test\Docbook\basic\htmlhelp\htmlhelp_cmd.py
        test\Docbook\basic\man\man.py
        test\Docbook\basic\man\man_cmd.py
        test\Docbook\basic\slideshtml\slideshtml.py
        test\Docbook\basic\slideshtml\slideshtml_cmd.py
        test\Docbook\basic\xinclude\xinclude.py
        test\Docbook\dependencies\xinclude\xinclude.py
        test\Docbook\rootname\htmlchunked\htmlchunked.py
        test\Docbook\rootname\htmlhelp\htmlhelp.py
        test\Docbook\rootname\slideshtml\slideshtml.py
        test\Errors\preparation.py
        test\FindSourceFiles.py
        test\Fortran\F77PATH.py
        test\Fortran\F90PATH.py
        test\Fortran\FORTRANPATH.py
        test\Intel\icpc-link.py
        test\Java\DerivedSourceTest.py
        test\Java\JAR.py
        test\Java\JARCHDIR.py
        test\Java\JARFLAGS.py
        test\Java\JAVABOOTCLASSPATH.py
        test\Java\JAVACFLAGS.py
        test\Java\JAVACLASSPATH.py
        test\Java\JAVAH.py
       test\Java\JAVASOURCEPATH.py
        test\Java\Java-1.4.py
        test\Java\Java-1.5.py
        test\Java\Java-1.6.py
        test\Java\RMIC.py
        test\Java\jar_with_node.py
        test\Java\multi-step.py
        test\Java\nested-classes.py
        test\Java\no-JARCHDIR.py
        test\Java\source-files.py
        test\Java\swig-dependencies.py
        test\LEX\live.py
        test\LINK\LDMODULEVERSIONFLAGS.py
        test\LINK\SHLIBVERSIONFLAGS.py
        test\MSVS\vs-10.0-exec.py
        test\MSVS\vs-10.0Exp-exec.py
        test\MSVS\vs-11.0-exec.py
        test\MSVS\vs-11.0Exp-exec.py
        test\MSVS\vs-14.0Exp-exec.py
        test\MSVS\vs-6.0-exec.py
        test\MSVS\vs-7.0-exec.py
        test\MSVS\vs-7.1-exec.py
        test\MSVS\vs-8.0-exec.py
        test\MSVS\vs-8.0Exp-exec.py
        test\MSVS\vs-9.0-exec.py
        test\MSVS\vs-9.0Exp-exec.py
        test\MinGW\MinGWSharedLibrary.py
        test\MinGW\WINDOWS_INSERT_DEF.py
        test\PharLap.py
        test\QT\Tool.py
        test\QT\generated-ui.py
        test\QT\installed.py
        test\QT\up-to-date.py
        test\RANLIB\RANLIB.py
        test\RANLIB\RANLIBCOM.py
        test\RANLIB\RANLIBCOMSTR.py
        test\RANLIB\RANLIBFLAGS.py
        test\RPATH.py
        test\Repository\Java.py
        test\Repository\JavaH.py
        test\Repository\RMIC.py
        test\Rpcgen\live.py
        test\SConsignFile\use-dbhash.py
        test\SConsignFile\use-dbm.py
        test\SConsignFile\use-gdbm.py
        test\SHELL.py
        test\SWIG\SWIGFLAGS.py
        test\SWIG\SWIGOUTDIR-python.py
        test\SWIG\SWIGOUTDIR.py
        test\SWIG\SWIGPATH.py
        test\SWIG\build-dir.py
        test\SWIG\generated_swigfile.py
        test\SWIG\implicit-dependencies.py
        test\SWIG\live.py
        test\SWIG\module-deduced-name.py
        test\SWIG\module-parens.py
        test\SWIG\module-quoted.py
        test\SWIG\module-spaces.py
        test\SWIG\noproxy.py
        test\SWIG\recursive-includes-cpp.py
        test\SWIG\remove-modules.py
        test\SWIG\subdir.py
        test\TEX\PDF_single_source.py
        test\TEX\TEX.py
        test\TEX\auxiliaries.py
        test\TEX\biber_biblatex.py
        test\TEX\biber_biblatex2.py
        test\TEX\biblatex.py
        test\TEX\biblatex_plain.py
        test\TEX\bibliography.py
        test\TEX\bibtex-latex-rerun.py
        test\TEX\clean.py
        test\TEX\configure.py
        test\TEX\dryrun.py
        test\TEX\eps_graphics.py
        test\TEX\eps_graphics2.py
        test\TEX\generated_files.py
        test\TEX\glossaries.py
        test\TEX\glossary.py
        test\TEX\input_docClass.py
        test\TEX\lstinputlisting.py
        test\TEX\makeindex.py
        test\TEX\multi-line_include_options.py
        test\TEX\multi-run.py
        test\TEX\multibib.py
        test\TEX\multiple_include.py
        test\TEX\multiple_include_subdir.py
        test\TEX\newglossary.py
        test\TEX\nomencl.py
        test\TEX\recursive_scanner_dependencies_import.py
        test\TEX\recursive_scanner_dependencies_input.py
        test\TEX\rename_result.py
        test\TEX\subdir-as-include.py
        test\TEX\subdir-input.py
        test\TEX\subdir_variantdir_include.py
        test\TEX\subdir_variantdir_include2.py
        test\TEX\subdir_variantdir_input.py
        test\TEX\synctex.py
        test\TEX\usepackage.py
        test\TEX\variant_dir.py
        test\TEX\variant_dir_bibunit.py
        test\TEX\variant_dir_dup0.py
        test\TEX\variant_dir_newglossary.py
        test\TEX\variant_dir_style_dup0.py
        test\Win32\mingw.py
        test\YACC\live-check-output-cleaned.py
        test\YACC\live.py
        test\leaky-handles.py
        test\packaging\guess-package-name.py
        test\packaging\ipkg.py
        test\packaging\msi\explicit-target.py
        test\packaging\msi\file-placement.py
        test\packaging\msi\package.py
        test\packaging\multiple-packages-at-once.py
        test\packaging\multiple-subdirs.py
        test\packaging\option--package-type.py
        test\packaging\place-files-in-subdirectory.py
        test\packaging\rpm\cleanup.py
        test\packaging\rpm\explicit-target.py
        test\packaging\rpm\internationalization.py
        test\packaging\rpm\multipackage.py
        test\packaging\rpm\package.py
        test\packaging\rpm\tagging.py
        test\packaging\sandbox-test\sandbox-test.py
        test\packaging\strip-install-dir.py
        test\packaging\use-builddir.py
        test\packaging\zip.py
        test\symlink\VariantDir.py
        test\symlink\dangling-include.py
        test\symlink\dangling-source.py
        test\timestamp-fallback.py

c:\Users\robb\Development\scons-git>

It seems to fail all the java tests because it can’t find any of the four versions of the JDK that are installed (and it fails 19 tests out of the box).
Can someone give me guidance on what I should expect here, and how to get it to find the JDK and use it?  Adding to the path didn’t seem to work, or I may have given it 32-bit when it expected 64.
I was quickly frustrated by reading the wiki on Github (many of the links from the top-level point back to the top-level), so I went back to bitbucket (which was a little better).
The key problem for me is that it’s skipping the JAR.py test, which is where I’m planning to add a test.

Any advice?

TIA


[cid:image002.png at 01D3D0E3.DCFE6710]

Rob Boehne
Senior Software Architect | Datalogics, Inc.
+1.312.853.8351<tel:(312)%20853-8351> | robb at datalogics.com<mailto:robb at datalogics.com>
datalogics.com<http://www.datalogics.com/> | blogs.datalogics.com<http://blogs.datalogics.com/>

Connect with us: Facebook<https://www.facebook.com/DatalogicsInc> | Twitter<https://twitter.com/DatalogicsInc> | LinkedIn<https://www.linkedin.com/company/datalogics?actionToken=p=p%3Dbiz-company-login%26c%3D3217e65a-bdc2-4b38-8f9c-13c982e8c529%26m%3Dcompany_feed%26n%3D0&t=a%3DisFolloweeOfPoster%253Dfalse%2526distanceFromActor%253D-1%2526actorType%253D%2526likedByUser%253Dfalse%2526targetId%253D%2526recentCommentUrns%253D%2526targetType%253D%2526sponsoredFlag%253DORGANIC%2526verbType%253Dlinkedin%25253Ashare%2526objectType%253Dlinkedin%25253Aarticle%2526totalShares%253D0%2526activityId%253Durn%25253Ali%25253Aactivity%25253A6263731876121362433%2526recentLikerUrns%253D%2526actorId%253Durn%25253Ali%25253Acompany%25253A14000%2526totalComments%253D0%2526relevanceScore%253D0.0%2526recentCommenterUrns%253D%2526isPublic%253Dtrue%2526time%253D-1%2526totalLikes%253D0%2526objectId%253Durn%25253Ali%25253Aarticle%25253A7793179909183391510%2526distanceFromNestedActor%253D-1%26s%3DORG> | YouTube<https://www.youtube.com/user/Datalogics>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20180507/a955a6cf/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 124449 bytes
Desc: image001.png
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20180507/a955a6cf/attachment-0001.png>


More information about the Scons-dev mailing list