[Scons-dev] Working with SCons' tests

Daniel Moody dmoody256 at gmail.com
Mon May 7 15:03:20 EDT 2018


Hey Rob,

We are working on getting all the tests passing on windows 10, some of the
tools need updating:
https://github.com/SCons/scons/pull/3052

You can probably just run the Java tests, to save time:
python runtest.py test/Java

The Java tests will try to detect the version using the TestSCons class
where_(java function) calls, for example in JAR.py
https://github.com/SCons/scons/blob/master/test/Java/JAR.py#L121-L122

If you look at those where_java functions, they skip the test if not
satisfied:
https://github.com/SCons/scons/blob/master/testing/framework/TestSCons.py#L834

In java_ENV, the tests have some default directories it tries (ignores the
current environment at an attempt to make the testing environment agnostic):
https://github.com/SCons/scons/blob/master/testing/framework/TestSCons.py#L696

So maybe if you have a non standard location, it wont find it?

Best regards,

On Mon, May 7, 2018, 1:43 PM Bill Deegan <bill at baddogconsulting.com> wrote:

> Rob,
>
> Which version of python are you using?
> Safe to assume you've forked from master on github?
>
> Any chance you can pop on SCons's irc channel? (#scons on freenode)
>
> Note those tests aren't failing, they're being skipped.
> However I would hope SCons would find Java.
> Where are your java(s) installed? (Full path please)
>
> -Bill
>
> On Mon, May 7, 2018 at 2:12 PM, Rob Boehne <robb at datalogics.com> wrote:
>
>>
>>
>> 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
>>
>>
>>
>>
>>
>> [image: cid:image002.png at 01D3D0E3.DCFE6710]
>>
>> *Rob Boehne*
>>
>> Senior Software Architect | Datalogics, Inc.
>>
>> +1.312.853.8351 <(312)%20853-8351> | robb at datalogics.com
>>
>> datalogics.com <http://www.datalogics.com/> | 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>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Scons-dev mailing list
>> Scons-dev at scons.org
>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>
>>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20180507/f9944cf7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 124449 bytes
Desc: not available
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20180507/f9944cf7/attachment-0001.png>


More information about the Scons-dev mailing list