diff options
author | Mats Wichmann <mats@linux.com> | 2022-02-01 20:46:44 (GMT) |
---|---|---|
committer | Mats Wichmann <mats@linux.com> | 2022-02-02 15:13:21 (GMT) |
commit | b017124ff38f477a5150bbf77325fbfb0a973c90 (patch) | |
tree | cfdb5eb4690113d19d8fbd2791389215f42ff057 /test/Java | |
parent | fc31681a9b3611dbda818ecfd3c98ee8720bc1bd (diff) | |
download | SCons-b017124ff38f477a5150bbf77325fbfb0a973c90.zip SCons-b017124ff38f477a5150bbf77325fbfb0a973c90.tar.gz SCons-b017124ff38f477a5150bbf77325fbfb0a973c90.tar.bz2 |
Tweak Java e2e tests some more
Formatting of embedded test scripts
Extract myrmic.py to fixture dir
Some more DefaultEnvironment and tools limiting for performance
Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'test/Java')
-rw-r--r-- | test/Java/JARCHDIR.py | 7 | ||||
-rw-r--r-- | test/Java/JARCOM.py | 8 | ||||
-rw-r--r-- | test/Java/JARCOMSTR.py | 11 | ||||
-rw-r--r-- | test/Java/JARFLAGS.py | 8 | ||||
-rw-r--r-- | test/Java/JAVABOOTCLASSPATH.py | 1 | ||||
-rw-r--r-- | test/Java/JAVAC.py | 2 | ||||
-rw-r--r-- | test/Java/JAVACCOM.py | 9 | ||||
-rw-r--r-- | test/Java/JAVACCOMSTR.py | 11 | ||||
-rw-r--r-- | test/Java/JAVACFLAGS.py | 6 | ||||
-rw-r--r-- | test/Java/JAVACLASSPATH.py | 1 | ||||
-rw-r--r-- | test/Java/JAVAH-mock.py | 2 | ||||
-rw-r--r-- | test/Java/JAVAH.py | 1 | ||||
-rw-r--r-- | test/Java/JAVAHCOM.py | 1 | ||||
-rw-r--r-- | test/Java/JAVAHCOMSTR.py | 1 | ||||
-rw-r--r-- | test/Java/JAVASOURCEPATH.py | 1 | ||||
-rw-r--r-- | test/Java/Java-fixture/.exclude_tests | 1 | ||||
-rw-r--r-- | test/Java/Java-fixture/myrmic.py | 24 | ||||
-rw-r--r-- | test/Java/RMIC.py | 73 | ||||
-rw-r--r-- | test/Java/RMICCOM.py | 13 | ||||
-rw-r--r-- | test/Java/RMICCOMSTR.py | 15 | ||||
-rw-r--r-- | test/Java/jar_not_in_PATH.py | 2 | ||||
-rw-r--r-- | test/Java/rmic_not_in_PATH.py | 25 |
22 files changed, 116 insertions, 107 deletions
diff --git a/test/Java/JARCHDIR.py b/test/Java/JARCHDIR.py index 49e7344..c247172 100644 --- a/test/Java/JARCHDIR.py +++ b/test/Java/JARCHDIR.py @@ -43,21 +43,20 @@ where_jar = test.java_where_jar() test.write('SConstruct', """ DefaultEnvironment(tools=[]) dir = 'dist' -env = Environment(tools = ['javac', 'jar'], - JARCHDIR = dir) +env = Environment(tools=['javac', 'jar'], JARCHDIR=dir) bin = env.Java(dir, Dir('./')) jar = env.Jar(File('c.jar', dir), bin) # Make sure we handle class files with $ in them, such as typically # created for inner classes. -env = env.Clone(JARCHDIR = '.') +env = env.Clone(JARCHDIR='.') inner = env.Jar('inner.jar', 'Inner$$Class.class') # Commented out as this logic doesn't work as is. # target_env = env.Clone(JARCHDIR = '${TARGET.dir}') # target_env.Jar('out/t.jar', 'in/t.class') -source_env = env.Clone(JARCHDIR = '${SOURCE.dir}') +source_env = env.Clone(JARCHDIR='${SOURCE.dir}') source_env.Jar('out/s.jar', 'in/s.class') Default(bin, jar, inner) diff --git a/test/Java/JARCOM.py b/test/Java/JARCOM.py index ce5dc77..9c3723f 100644 --- a/test/Java/JARCOM.py +++ b/test/Java/JARCOM.py @@ -37,9 +37,11 @@ test = TestSCons.TestSCons() test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'jar'], - JARCOM = r'%(_python_)s mycompile.py jar $TARGET $SOURCES') -env.Jar(target = 'test1', source = ['file1.in', 'file2.in', 'file3.in']) +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'jar'], JARCOM=r'%(_python_)s mycompile.py jar $TARGET $SOURCES' +) +env.Jar(target='test1', source=['file1.in', 'file2.in', 'file3.in']) """ % locals()) test.write('file1.in', "file1.in\n/*jar*/\n") diff --git a/test/Java/JARCOMSTR.py b/test/Java/JARCOMSTR.py index b4a2efc..24ecce6 100644 --- a/test/Java/JARCOMSTR.py +++ b/test/Java/JARCOMSTR.py @@ -37,10 +37,13 @@ test = TestSCons.TestSCons() test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'jar'], - JARCOM = r'%(_python_)s mycompile.py jar $TARGET $SOURCES', - JARCOMSTR = "Jar'ing up $TARGET from $SOURCES") -env.Jar(target = 'test1', source = ['file1.in', 'file2.in', 'file3.in']) +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'jar'], + JARCOM=r'%(_python_)s mycompile.py jar $TARGET $SOURCES', + JARCOMSTR="Jar'ing up $TARGET from $SOURCES", +) +env.Jar(target='test1', source=['file1.in', 'file2.in', 'file3.in']) """ % locals()) test.write('file1.in', "file1.in\n/*jar*/\n") diff --git a/test/Java/JARFLAGS.py b/test/Java/JARFLAGS.py index 7c16491..36af592 100644 --- a/test/Java/JARFLAGS.py +++ b/test/Java/JARFLAGS.py @@ -34,11 +34,11 @@ where_jar = test.java_where_jar() test.subdir('src') test.write('SConstruct', """ -env = Environment(tools = ['javac', 'jar'], - JARFLAGS = 'cvf') +DefaultEnvironment(tools=[]) +env = Environment(tools=['javac', 'jar'], JARFLAGS='cvf') env['JARFLAGS'] = 'cvf' -class_files = env.Java(target = 'classes', source = 'src') -env.Jar(target = 'test.jar', source = class_files) +class_files = env.Java(target='classes', source='src') +env.Jar(target='test.jar', source=class_files) """ % locals()) test.write(['src', 'Example1.java'], """\ diff --git a/test/Java/JAVABOOTCLASSPATH.py b/test/Java/JAVABOOTCLASSPATH.py index 69d9471..d5ccc09 100644 --- a/test/Java/JAVABOOTCLASSPATH.py +++ b/test/Java/JAVABOOTCLASSPATH.py @@ -37,6 +37,7 @@ test = TestSCons.TestSCons() where_javac, java_version = test.java_where_javac() test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment(tools=['javac'], JAVABOOTCLASSPATH=['dir1', 'dir2']) j1 = env.Java(target='class', source='com/Example1.java') j2 = env.Java(target='class', source='com/Example2.java') diff --git a/test/Java/JAVAC.py b/test/Java/JAVAC.py index f303e87..2349a05 100644 --- a/test/Java/JAVAC.py +++ b/test/Java/JAVAC.py @@ -40,6 +40,7 @@ test = TestSCons.TestSCons() test.file_fixture(['Java-fixture', 'myjavac.py']) test.write('SConstruct', """\ +DefaultEnvironment(tools=[]) env = Environment(tools=['javac'], JAVAC=r'%(_python_)s myjavac.py') env.Java(target='.', source='.') """ % locals()) @@ -55,6 +56,7 @@ test.must_match('test1.class', "test1.java\nline 3\n", mode='r') if os.path.normcase('.java') == os.path.normcase('.JAVA'): test.write('SConstruct', """\ +DefaultEnvironment(tools=[]) env = Environment(tools=['javac'], JAVAC=r'%(_python_)s myjavac.py') env.Java(target='.', source='.') """ % locals()) diff --git a/test/Java/JAVACCOM.py b/test/Java/JAVACCOM.py index 3bb4dfb..0329f03 100644 --- a/test/Java/JAVACCOM.py +++ b/test/Java/JAVACCOM.py @@ -38,9 +38,12 @@ test.subdir('src') test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'javac'], - JAVACCOM = r'%(_python_)s mycompile.py javac $TARGET $SOURCES') -env.Java(target = 'classes', source = 'src') +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'javac'], + JAVACCOM=r'%(_python_)s mycompile.py javac $TARGET $SOURCES', +) +env.Java(target='classes', source='src') """ % locals()) test.write(['src', 'file1.java'], "file1.java\n/*javac*/\n") diff --git a/test/Java/JAVACCOMSTR.py b/test/Java/JAVACCOMSTR.py index 4e25815..6f50899 100644 --- a/test/Java/JAVACCOMSTR.py +++ b/test/Java/JAVACCOMSTR.py @@ -41,10 +41,13 @@ test.subdir('src') test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'javac'], - JAVACCOM = r'%(_python_)s mycompile.py javac $TARGET $SOURCES', - JAVACCOMSTR = "Compiling class(es) $TARGET from $SOURCES") -env.Java(target = 'classes', source = 'src') +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'javac'], + JAVACCOM=r'%(_python_)s mycompile.py javac $TARGET $SOURCES', + JAVACCOMSTR="Compiling class(es) $TARGET from $SOURCES", +) +env.Java(target='classes', source='src') """ % locals()) test.write(['src', 'file1.java'], "file1.java\n/*javac*/\n") diff --git a/test/Java/JAVACFLAGS.py b/test/Java/JAVACFLAGS.py index a40610d..3a555a3 100644 --- a/test/Java/JAVACFLAGS.py +++ b/test/Java/JAVACFLAGS.py @@ -34,9 +34,9 @@ where_javac, java_version = test.java_where_javac() test.subdir('src') test.write('SConstruct', """ -env = Environment(tools = ['javac'], - JAVACFLAGS = '-O') -env.Java(target = 'classes', source = 'src') +DefaultEnvironment(tools=[]) +env = Environment(tools=['javac'], JAVACFLAGS='-O') +env.Java(target='classes', source='src') """ % locals()) test.write(['src', 'Example1.java'], """\ diff --git a/test/Java/JAVACLASSPATH.py b/test/Java/JAVACLASSPATH.py index aff3a90..38f01cc 100644 --- a/test/Java/JAVACLASSPATH.py +++ b/test/Java/JAVACLASSPATH.py @@ -54,6 +54,7 @@ if javacdir != javahdir: test.skip_test("Cannot find Java javah matching javac, skipping test.\n") test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment(tools=['javac', 'javah']) j1 = env.Java(target='class1', source='com.1/Example1.java') j2 = env.Java(target='class2', source='com.2/Example2.java') diff --git a/test/Java/JAVAH-mock.py b/test/Java/JAVAH-mock.py index e44f533..e13e1b0 100644 --- a/test/Java/JAVAH-mock.py +++ b/test/Java/JAVAH-mock.py @@ -63,6 +63,7 @@ sys.exit(0) """) test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment(tools=['javah'], JAVAH=r'%(_python_)s myjavah.py') env.JavaH(target=File('test1.h'), source='test1.java') """ % locals()) @@ -78,6 +79,7 @@ test.must_match('test1.h', "test1.java\nline 3\n", mode='r') if os.path.normcase('.java') == os.path.normcase('.JAVA'): test.write('SConstruct', """\ +DefaultEnvironment(tools=[]) env = Environment(tools=['javah'], JAVAH=r'%(_python_)s myjavah.py') env.JavaH(target=File('test2.h'), source='test2.JAVA') """ % locals()) diff --git a/test/Java/JAVAH.py b/test/Java/JAVAH.py index 8be3196..27e9821 100644 --- a/test/Java/JAVAH.py +++ b/test/Java/JAVAH.py @@ -59,6 +59,7 @@ if javacdir != javahdir: test.file_fixture('wrapper_with_args.py') test.write('SConstruct', """ +DefaultEnvironment(tools=[]) foo = Environment(tools=['javac', 'javah', 'install']) jv = %(java_version)s if jv: diff --git a/test/Java/JAVAHCOM.py b/test/Java/JAVAHCOM.py index 00df2ae..0ffc183 100644 --- a/test/Java/JAVAHCOM.py +++ b/test/Java/JAVAHCOM.py @@ -36,6 +36,7 @@ test = TestSCons.TestSCons() test.file_fixture('mycompile.py') test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment( TOOLS=['default', 'javah'], JAVAHCOM=r'%(_python_)s mycompile.py javah $TARGET $SOURCES', diff --git a/test/Java/JAVAHCOMSTR.py b/test/Java/JAVAHCOMSTR.py index 3936947..18aed44 100644 --- a/test/Java/JAVAHCOMSTR.py +++ b/test/Java/JAVAHCOMSTR.py @@ -45,6 +45,7 @@ out_file3_h = os.path.join('out', 'file3.h') test.file_fixture('mycompile.py') test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment( TOOLS=['default', 'javah'], JAVAHCOM=r'%(_python_)s mycompile.py javah $TARGET $SOURCES', diff --git a/test/Java/JAVASOURCEPATH.py b/test/Java/JAVASOURCEPATH.py index 19a474d..f12caa3 100644 --- a/test/Java/JAVASOURCEPATH.py +++ b/test/Java/JAVASOURCEPATH.py @@ -36,6 +36,7 @@ test = TestSCons.TestSCons() where_javac, java_version = test.java_where_javac() test.write('SConstruct', """ +DefaultEnvironment(tools=[]) env = Environment(tools=['javac']) bar = env.Java( target='bar/classes', source='bar/src/TestBar.java', JAVASOURCEPATH=['foo/src'] diff --git a/test/Java/Java-fixture/.exclude_tests b/test/Java/Java-fixture/.exclude_tests index 37004e6..ae03666 100644 --- a/test/Java/Java-fixture/.exclude_tests +++ b/test/Java/Java-fixture/.exclude_tests @@ -1,2 +1,3 @@ myjar.py myjavac.py +myrmic.py diff --git a/test/Java/Java-fixture/myrmic.py b/test/Java/Java-fixture/myrmic.py new file mode 100644 index 0000000..877c1be --- /dev/null +++ b/test/Java/Java-fixture/myrmic.py @@ -0,0 +1,24 @@ +import os +import sys + +args = sys.argv[1:] +while args: + arg = args[0] + if arg == '-d': + outdir = args[1] + args = args[1:] + elif arg == '-classpath': + args = args[1:] + elif arg == '-sourcepath': + args = args[1:] + else: + break + args = args[1:] +for file in args: + out = os.path.join(outdir, file.lower().replace('.java', '.class')) + with open(file, 'rb') as infile, open(out, 'wb') as outfile: + for line in infile: + if not line.startswith(b'/*rmic*/'): + outfile.write(line) + +sys.exit(0) diff --git a/test/Java/RMIC.py b/test/Java/RMIC.py index dafb9cd..b7e45f4 100644 --- a/test/Java/RMIC.py +++ b/test/Java/RMIC.py @@ -31,35 +31,12 @@ _python_ = TestSCons._python_ test = TestSCons.TestSCons() -test.write('myrmic.py', r""" -import os -import sys -args = sys.argv[1:] -while args: - a = args[0] - if a == '-d': - outdir = args[1] - args = args[1:] - elif a == '-classpath': - args = args[1:] - elif a == '-sourcepath': - args = args[1:] - else: - break - args = args[1:] -for file in args: - infile = open(file, 'r') - outfile = open(os.path.join(outdir, file[:-5] + '.class'), 'w') - for l in infile.readlines(): - if l[:8] != '/*rmic*/': - outfile.write(l) -sys.exit(0) -""") +test.file_fixture(['Java-fixture', 'myrmic.py']) test.write('SConstruct', """ -env = Environment(tools = ['rmic'], - RMIC = r'%(_python_)s myrmic.py') -env.RMIC(target = 'outdir', source = 'test1.java') +DefaultEnvironment(tools=[]) +env = Environment(tools=['rmic'], RMIC=r'%(_python_)s myrmic.py') +env.RMIC(target='outdir', source='test1.java') """ % locals()) test.write('test1.java', """\ @@ -74,9 +51,9 @@ test.must_match(['outdir', 'test1.class'], "test1.java\nline 3\n", mode='r') if os.path.normcase('.java') == os.path.normcase('.JAVA'): test.write('SConstruct', """\ -env = Environment(tools = ['rmic'], - RMIC = r'%(_python_)s myrmic.py') -env.RMIC(target = 'outdir', source = 'test2.JAVA') +DefaultEnvironment(tools=[]) +env = Environment(tools=['rmic'], RMIC=r'%(_python_)s myrmic.py') +env.RMIC(target='outdir', source='test2.JAVA') """ % locals()) test.write('test2.JAVA', """\ @@ -122,30 +99,34 @@ if curver < (1, 8): test.file_fixture('wrapper_with_args.py') test.write('SConstruct', """ -foo = Environment(tools = ['javac', 'rmic']) -foo.Java(target = 'class1', source = 'com/sub/foo') -foo.RMIC(target = 'outdir1', - source = ['class1/com/sub/foo/Example1.class', - 'class1/com/sub/foo/Example2'], - JAVACLASSDIR = 'class1') +DefaultEnvironment(tools=[]) +foo = Environment(tools=['javac', 'rmic']) +foo.Java(target='class1', source='com/sub/foo') +foo.RMIC( + target='outdir1', + source=['class1/com/sub/foo/Example1.class', 'class1/com/sub/foo/Example2'], + JAVACLASSDIR='class1', +) rmic = foo.Dictionary('RMIC') -bar = foo.Clone(RMIC = r'%(_python_)s wrapper_with_args.py ' + rmic) -bar_classes = bar.Java(target = 'class2', source = 'com/sub/bar') +bar = foo.Clone(RMIC=r'%(_python_)s wrapper_with_args.py ' + rmic) +bar_classes = bar.Java(target='class2', source='com/sub/bar') # XXX This is kind of a Python brute-force way to do what Ant # does with its "excludes" attribute. We should probably find # a similar friendlier way to do this. bar_classes = [c for c in bar_classes if 'Hello' not in str(c)] -bar.RMIC(target = Dir('outdir2'), source = bar_classes) +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.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; diff --git a/test/Java/RMICCOM.py b/test/Java/RMICCOM.py index 8a00b25..53c99c5 100644 --- a/test/Java/RMICCOM.py +++ b/test/Java/RMICCOM.py @@ -44,11 +44,14 @@ out_file3 = os.path.join('out', 'file3', 'class_Stub.class') test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'rmic'], - RMICCOM = r'%(_python_)s mycompile.py rmic $TARGET $SOURCES') -env.RMIC(target = 'out', source = 'file1.class') -env.RMIC(target = 'out', source = 'file2.class') -env.RMIC(target = 'out', source = 'file3.class') +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'rmic'], + RMICCOM=r'%(_python_)s mycompile.py rmic $TARGET $SOURCES', +) +env.RMIC(target='out', source='file1.class') +env.RMIC(target='out', source='file2.class') +env.RMIC(target='out', source='file3.class') """ % locals()) test.write('file1.class', "file1.class\n/*rmic*/\n") diff --git a/test/Java/RMICCOMSTR.py b/test/Java/RMICCOMSTR.py index 2425a3d..daee7ee 100644 --- a/test/Java/RMICCOMSTR.py +++ b/test/Java/RMICCOMSTR.py @@ -45,12 +45,15 @@ out_file3 = os.path.join('out', 'file3', 'class_Stub.class') test.file_fixture('mycompile.py') test.write('SConstruct', """ -env = Environment(TOOLS = ['default', 'rmic'], - RMICCOM = r'%(_python_)s mycompile.py rmic $TARGET $SOURCES', - RMICCOMSTR = 'Building rmic $TARGET from $SOURCES') -env.RMIC(target = 'out', source = 'file1.class') -env.RMIC(target = 'out', source = 'file2.class') -env.RMIC(target = 'out', source = 'file3.class') +DefaultEnvironment(tools=[]) +env = Environment( + TOOLS=['default', 'rmic'], + RMICCOM=r'%(_python_)s mycompile.py rmic $TARGET $SOURCES', + RMICCOMSTR='Building rmic $TARGET from $SOURCES', +) +env.RMIC(target='out', source='file1.class') +env.RMIC(target='out', source='file2.class') +env.RMIC(target='out', source='file3.class') """ % locals()) test.write('file1.class', "file1.class\n/*rmic*/\n") diff --git a/test/Java/jar_not_in_PATH.py b/test/Java/jar_not_in_PATH.py index b890ba1..6794a53 100644 --- a/test/Java/jar_not_in_PATH.py +++ b/test/Java/jar_not_in_PATH.py @@ -44,7 +44,7 @@ oldpath = os.environ.get('PATH', '') DefaultEnvironment(tools=[]) env = Environment(ENV={'PATH': ['.']}, tools=['javac', 'jar']) env['ENV']['PATH'] = oldpath -env['JAR'] = r'%(_python_)s ./myjar.py' +env['JAR'] = r'%(_python_)s myjar.py' env.Jar(target='test1.jar', source='test1.class') """ % locals()) diff --git a/test/Java/rmic_not_in_PATH.py b/test/Java/rmic_not_in_PATH.py index 68a2c30..51aca9c 100644 --- a/test/Java/rmic_not_in_PATH.py +++ b/test/Java/rmic_not_in_PATH.py @@ -36,30 +36,7 @@ _python_ = TestSCons._python_ test = TestSCons.TestSCons() -test.write('myrmic.py', r""" -import os -import sys -args = sys.argv[1:] -while args: - a = args[0] - if a == '-d': - outdir = args[1] - args = args[1:] - elif a == '-classpath': - args = args[1:] - elif a == '-sourcepath': - args = args[1:] - else: - break - args = args[1:] -for file in args: - infile = open(file, 'rb') - outfile = open(os.path.join(outdir, file[:-5] + '.class'), 'wb') - for l in infile.readlines(): - if l[:8] != '/*rmic*/': - outfile.write(l) -sys.exit(0) -""") +test.file_fixture(['Java-fixture', 'myrmic.py']) test.write('SConstruct', """ import os |