diff options
author | Dirk Baechle <dl9obn@darc.de> | 2014-08-07 19:40:42 (GMT) |
---|---|---|
committer | Dirk Baechle <dl9obn@darc.de> | 2014-08-07 19:40:42 (GMT) |
commit | 1e7356e2a4f660c6f1cd42b92aec0c47233c1a2d (patch) | |
tree | 9dae7bcc4bde1a6733917afd57fe749d53b56e33 /test/Java | |
parent | a64b41ac4e3e506417f465e414b94cb07aed582e (diff) | |
download | SCons-1e7356e2a4f660c6f1cd42b92aec0c47233c1a2d.zip SCons-1e7356e2a4f660c6f1cd42b92aec0c47233c1a2d.tar.gz SCons-1e7356e2a4f660c6f1cd42b92aec0c47233c1a2d.tar.bz2 |
- several smaller fixes to get the Linux buildslaves green again
Diffstat (limited to 'test/Java')
-rw-r--r-- | test/Java/RMIC.py | 89 |
1 files changed, 53 insertions, 36 deletions
diff --git a/test/Java/RMIC.py b/test/Java/RMIC.py index f88dd14..876ed80 100644 --- a/test/Java/RMIC.py +++ b/test/Java/RMIC.py @@ -94,14 +94,31 @@ line 3 where_javac, java_version = test.java_where_javac() where_rmic = test.java_where_rmic() -test.write("wrapper.py", """\ +# Try to get the major/minor Java version +curver = (1, 0) +if java_version.count('.') == 1: + # Check Java version + major, minor = java_version.split('.') + try: + curver = (int(major), int(minor)) + except: + pass + +# Check the version of the found Java compiler. +# If it's 1.8 or higher, we skip the further RMIC test +# because we'll get warnings about the deprecated API... +# it's just not state-of-the-art anymore. +# Note, how we allow simple version strings like "5" and +# "6" to successfully pass this test. +if curver < (1, 8): + test.write("wrapper.py", """\ import os import sys open('%s', 'ab').write("wrapper.py %%s\\n" %% " ".join(sys.argv[1:])) os.system(" ".join(sys.argv[1:])) """ % test.workpath('wrapper.out').replace('\\', '\\\\')) -test.write('SConstruct', """ + test.write('SConstruct', """ foo = Environment(tools = ['javac', 'rmic'], JAVAC = r'%(where_javac)s', RMIC = r'%(where_rmic)s') @@ -121,15 +138,15 @@ bar_classes = [c for c in bar_classes if str(c).find('Hello') == -1] bar.RMIC(target = Dir('outdir2'), source = bar_classes) """ % locals() ) -test.subdir('com', - ['com', 'other'], - ['com', 'sub'], - ['com', 'sub', 'foo'], - ['com', 'sub', 'bar'], - 'src3a', - 'src3b') - -test.write(['com', 'sub', 'foo', 'Hello.java'], """\ + test.subdir('com', + ['com', 'other'], + ['com', 'sub'], + ['com', 'sub', 'foo'], + ['com', 'sub', 'bar'], + 'src3a', + 'src3b') + + test.write(['com', 'sub', 'foo', 'Hello.java'], """\ package com.sub.foo; import java.rmi.Remote; @@ -140,7 +157,7 @@ public interface Hello extends Remote { } """) -test.write(['com', 'sub', 'foo', 'Example1.java'], """\ + test.write(['com', 'sub', 'foo', 'Example1.java'], """\ package com.sub.foo; import java.rmi.Naming; @@ -179,7 +196,7 @@ public class Example1 extends UnicastRemoteObject implements Hello { } """) -test.write(['com', 'sub', 'foo', 'Example2.java'], """\ + test.write(['com', 'sub', 'foo', 'Example2.java'], """\ package com.sub.foo; import java.rmi.Naming; @@ -218,7 +235,7 @@ public class Example2 extends UnicastRemoteObject implements Hello { } """) -test.write(['com', 'sub', 'bar', 'Hello.java'], """\ + test.write(['com', 'sub', 'bar', 'Hello.java'], """\ package com.sub.bar; import java.rmi.Remote; @@ -229,7 +246,7 @@ public interface Hello extends Remote { } """) -test.write(['com', 'sub', 'bar', 'Example3.java'], """\ + test.write(['com', 'sub', 'bar', 'Example3.java'], """\ package com.sub.bar; import java.rmi.Naming; @@ -268,7 +285,7 @@ public class Example3 extends UnicastRemoteObject implements Hello { } """) -test.write(['com', 'sub', 'bar', 'Example4.java'], """\ + test.write(['com', 'sub', 'bar', 'Example4.java'], """\ package com.sub.bar; import java.rmi.Naming; @@ -307,26 +324,26 @@ public class Example4 extends UnicastRemoteObject implements Hello { } """) -test.run(arguments = '.') - -test.fail_test(test.read('wrapper.out') != "wrapper.py %s -d outdir2 -classpath class2 com.sub.bar.Example3 com.sub.bar.Example4\n" % where_rmic) - -test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example1_Stub.class')) -test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example2_Stub.class')) -test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example3_Stub.class')) -test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example4_Stub.class')) - -# We used to check for _Skel.class files as well, but they're not -# generated by default starting with Java 1.5, and they apparently -# haven't been needed for a while. Don't bother looking, even if we're -# running Java 1.4. If we think they're needed but they don't exist -# the test.up_to_date() call below will detect it. -#test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example1_Skel.class')) -#test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example2_Skel.class')) -#test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example3_Skel.class')) -#test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example4_Skel.class')) - -test.up_to_date(arguments = '.') + test.run(arguments = '.') + + test.fail_test(test.read('wrapper.out') != "wrapper.py %s -d outdir2 -classpath class2 com.sub.bar.Example3 com.sub.bar.Example4\n" % where_rmic) + + test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example1_Stub.class')) + test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example2_Stub.class')) + test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example3_Stub.class')) + test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example4_Stub.class')) + + # We used to check for _Skel.class files as well, but they're not + # generated by default starting with Java 1.5, and they apparently + # haven't been needed for a while. Don't bother looking, even if we're + # running Java 1.4. If we think they're needed but they don't exist + # the test.up_to_date() call below will detect it. + #test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example1_Skel.class')) + #test.must_exist(test.workpath('outdir1', 'com', 'sub', 'foo', 'Example2_Skel.class')) + #test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example3_Skel.class')) + #test.must_exist(test.workpath('outdir2', 'com', 'sub', 'bar', 'Example4_Skel.class')) + + test.up_to_date(arguments = '.') test.pass_test() |