summaryrefslogtreecommitdiffstats
path: root/test/Java
diff options
context:
space:
mode:
authorMats Wichmann <mats@linux.com>2022-02-01 20:46:44 (GMT)
committerMats Wichmann <mats@linux.com>2022-02-02 15:13:21 (GMT)
commitb017124ff38f477a5150bbf77325fbfb0a973c90 (patch)
treecfdb5eb4690113d19d8fbd2791389215f42ff057 /test/Java
parentfc31681a9b3611dbda818ecfd3c98ee8720bc1bd (diff)
downloadSCons-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.py7
-rw-r--r--test/Java/JARCOM.py8
-rw-r--r--test/Java/JARCOMSTR.py11
-rw-r--r--test/Java/JARFLAGS.py8
-rw-r--r--test/Java/JAVABOOTCLASSPATH.py1
-rw-r--r--test/Java/JAVAC.py2
-rw-r--r--test/Java/JAVACCOM.py9
-rw-r--r--test/Java/JAVACCOMSTR.py11
-rw-r--r--test/Java/JAVACFLAGS.py6
-rw-r--r--test/Java/JAVACLASSPATH.py1
-rw-r--r--test/Java/JAVAH-mock.py2
-rw-r--r--test/Java/JAVAH.py1
-rw-r--r--test/Java/JAVAHCOM.py1
-rw-r--r--test/Java/JAVAHCOMSTR.py1
-rw-r--r--test/Java/JAVASOURCEPATH.py1
-rw-r--r--test/Java/Java-fixture/.exclude_tests1
-rw-r--r--test/Java/Java-fixture/myrmic.py24
-rw-r--r--test/Java/RMIC.py73
-rw-r--r--test/Java/RMICCOM.py13
-rw-r--r--test/Java/RMICCOMSTR.py15
-rw-r--r--test/Java/jar_not_in_PATH.py2
-rw-r--r--test/Java/rmic_not_in_PATH.py25
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