diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Java/JAR.py | 12 | ||||
-rw-r--r-- | test/Java/JARCHDIR.py | 29 | ||||
-rw-r--r-- | test/Java/JARFLAGS.py | 14 | ||||
-rw-r--r-- | test/Java/JAVABOOTCLASSPATH.py | 7 | ||||
-rw-r--r-- | test/Java/JAVACFLAGS.py | 3 | ||||
-rw-r--r-- | test/Java/JAVACLASSPATH.py | 14 | ||||
-rw-r--r-- | test/Java/JAVAH.py | 6 | ||||
-rw-r--r-- | test/Java/JAVASOURCEPATH.py | 3 | ||||
-rw-r--r-- | test/Java/no-JARCHDIR.py | 23 | ||||
-rw-r--r-- | test/Java/source-files.py | 6 | ||||
-rw-r--r-- | test/Java/swig-dependencies.py | 28 | ||||
-rw-r--r-- | test/Libs/SharedLibrary.py | 1 |
12 files changed, 56 insertions, 90 deletions
diff --git a/test/Java/JAR.py b/test/Java/JAR.py index 4703a28..1eae9eb 100644 --- a/test/Java/JAR.py +++ b/test/Java/JAR.py @@ -302,16 +302,16 @@ public class JavaFile3 } """) -test.run(chdir='testdir2') # check the output and make sure the java files got converted to classes -compare_string = "jar cf foo.jar -C com/javasource/JavaFile1 com/javasource/JavaFile1.class -C com/javasource/JavaFile2 com/javasource/JavaFile2.class -C com/javasource/JavaFile3 com/javasource/JavaFile3.class" +# use regex . for dirsep so this will work on both windows and other platforms. +expect = ".*jar cf foo.jar -C com.javasource.JavaFile1 com.javasource.JavaFile1.class -C com.javasource.JavaFile2 com.javasource.JavaFile2.class -C com.javasource.JavaFile3 com.javasource.JavaFile3.class.*" + +test.run(chdir='testdir2', + match=TestSCons.match_re_dotall, + stdout = expect) -if sys.platform == 'win32': - compare_string = compare_string.replace('/','\\') -if(compare_string not in test.stdout()): - test.fail_test() #test single target jar test.must_exist(['testdir2','foobar.jar']) diff --git a/test/Java/JARCHDIR.py b/test/Java/JARCHDIR.py index d574fe7..e602fad 100644 --- a/test/Java/JARCHDIR.py +++ b/test/Java/JARCHDIR.py @@ -39,16 +39,10 @@ import TestSCons test = TestSCons.TestSCons() -where_javac, java_version = test.java_where_javac() -where_jar = test.java_where_jar() - - - test.write('SConstruct', """ +DefaultEnvironment(tools=[]) dir = 'dist' env = Environment(tools = ['javac', 'jar'], - JAVAC = r'%(where_javac)s', - JAR = r'%(where_jar)s', JARCHDIR = dir) bin = env.Java(dir, Dir('./')) jar = env.Jar(File('c.jar', dir), bin) @@ -58,8 +52,9 @@ jar = env.Jar(File('c.jar', dir), bin) env = env.Clone(JARCHDIR = '.') inner = env.Jar('inner.jar', 'Inner$$Class.class') -target_env = env.Clone(JARCHDIR = '${TARGET.dir}') -target_env.Jar('out/t.jar', 'in/t.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.Jar('out/s.jar', 'in/s.class') @@ -67,8 +62,6 @@ source_env.Jar('out/s.jar', 'in/s.class') Default(bin, jar, inner) """ % locals()) - - test.subdir('in') test.write('a.java', """\ @@ -98,21 +91,19 @@ test.write(['in', 's.class'], "s.class\n") # don't blow up (i.e., validates that we pass the right arguments to # env.subst() in the code that handle jar). -p = test.workpath('out') -for d in test.workpath('in').split(os.sep): - p = p + d - test.subdir(p) - p = p + os.sep +# p = test.workpath('out') +# for d in test.workpath('in').split(os.sep): +# p = p + d +# test.subdir(p) +# p = p + os.sep -test.write([p, 't.class'], "t.class\n") +# test.write([p, 't.class'], "t.class\n") test.write(['in', 't.class'], "t.class\n") test.write('Inner$Class.class', "Inner$Class.class\n") test.run(arguments = '.') - - test.pass_test() # Local Variables: diff --git a/test/Java/JARFLAGS.py b/test/Java/JARFLAGS.py index c0ae627..e89d02b 100644 --- a/test/Java/JARFLAGS.py +++ b/test/Java/JARFLAGS.py @@ -32,15 +32,8 @@ test = TestSCons.TestSCons() test.subdir('src') -where_javac, java_version = test.java_where_javac() -where_jar = test.java_where_jar() - - - test.write('SConstruct', """ env = Environment(tools = ['javac', 'jar'], - JAVAC = r'%(where_javac)s', - JAR = r'%(where_jar)s', JARFLAGS = 'cvf') env['JARFLAGS'] = 'cvf' class_files = env.Java(target = 'classes', source = 'src') @@ -62,13 +55,12 @@ public class Example1 """) expect = test.wrap_stdout("""\ -%(where_javac)s -d classes -sourcepath src src/Example1\.java -%(where_jar)s cvf test.jar -C classes src/Example1\.class +javac -d classes -sourcepath src src.Example1\.java +jar cvf test.jar -C classes src.Example1\.class .* -adding: src/Example1\.class.* +adding: src.Example1\.class.* """ % locals()) -expect = expect.replace('/', os.sep) test.run(arguments = '.', match=TestSCons.match_re_dotall, diff --git a/test/Java/JAVABOOTCLASSPATH.py b/test/Java/JAVABOOTCLASSPATH.py index 6913c6a..196cc54 100644 --- a/test/Java/JAVABOOTCLASSPATH.py +++ b/test/Java/JAVABOOTCLASSPATH.py @@ -42,7 +42,6 @@ where_javah = test.java_where_javah() test.write('SConstruct', """ env = Environment(tools = ['javac', 'javah'], - JAVAC = r'%(where_javac)s', JAVABOOTCLASSPATH = ['dir1', 'dir2']) j1 = env.Java(target = 'class', source = 'com/Example1.java') j2 = env.Java(target = 'class', source = 'com/Example2.java') @@ -85,11 +84,11 @@ public class Example2 bootclasspath = os.pathsep.join(['dir1', 'dir2']) expect = """\ -%(where_javac)s -bootclasspath %(bootclasspath)s -d class -sourcepath com com/Example1.java -%(where_javac)s -bootclasspath %(bootclasspath)s -d class -sourcepath com com/Example2.java +javac -bootclasspath %(bootclasspath)s -d class -sourcepath com com.Example1\.java +javac -bootclasspath %(bootclasspath)s -d class -sourcepath com com.Example2\.java """ % locals() -test.run(arguments = '-Q -n .', stdout = expect) +test.run(arguments = '-Q -n .', stdout = expect, match=TestSCons.match_re) test.pass_test() diff --git a/test/Java/JAVACFLAGS.py b/test/Java/JAVACFLAGS.py index 6afd1b9..28c58c1 100644 --- a/test/Java/JAVACFLAGS.py +++ b/test/Java/JAVACFLAGS.py @@ -36,7 +36,6 @@ test.subdir('src') test.write('SConstruct', """ env = Environment(tools = ['javac'], - JAVAC = r'%(where_javac)s', JAVACFLAGS = '-O') env.Java(target = 'classes', source = 'src') """ % locals()) @@ -55,7 +54,7 @@ public class Example1 } """) -expected_wrapper_out = "%(where_javac)s -O -d classes -sourcepath src src/Example1.java\n" +expected_wrapper_out = "javac -O -d classes -sourcepath src src/Example1.java\n" expected_wrapper_out = expected_wrapper_out.replace('/', os.sep) test.run(arguments = '.', stdout = test.wrap_stdout(expected_wrapper_out % locals())) diff --git a/test/Java/JAVACLASSPATH.py b/test/Java/JAVACLASSPATH.py index bc3bb21..fb2b33f 100644 --- a/test/Java/JAVACLASSPATH.py +++ b/test/Java/JAVACLASSPATH.py @@ -40,17 +40,15 @@ where_javac, java_version = test.java_where_javac() where_javah = test.java_where_javah() test.write('SConstruct', """ -env = Environment(tools = ['javac', 'javah'], - JAVAC = r'%(where_javac)s', - JAVAH = r'%(where_javah)s') -j1 = env.Java(target = 'class1', source = 'com1/Example1.java') -j2 = env.Java(target = 'class2', source = 'com2/Example2.java') +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') env.JavaH(target = 'outdir', source = [j1, j2], JAVACLASSPATH = 'class2') """ % locals()) -test.subdir('com1', 'com2') +test.subdir('com.1', 'com.2') -test.write(['com1', 'Example1.java'], """\ +test.write(['com.1', 'Example1.java'], """\ package com; public class Example1 @@ -64,7 +62,7 @@ public class Example1 } """) -test.write(['com2', 'Example2.java'], """\ +test.write(['com.2', 'Example2.java'], """\ package com; public class Example2 diff --git a/test/Java/JAVAH.py b/test/Java/JAVAH.py index f07ebb9..c7ac334 100644 --- a/test/Java/JAVAH.py +++ b/test/Java/JAVAH.py @@ -108,9 +108,7 @@ if test.javac_is_gcj: test.file_fixture('wrapper_with_args.py') test.write('SConstruct', """ -foo = Environment(tools = ['javac', 'javah', 'install'], - JAVAC = r'%(where_javac)s', - JAVAH = r'%(where_javah)s') +foo = Environment(tools = ['javac', 'javah', 'install']) jv = %(java_version)s if jv: foo['JAVAVERSION'] = jv @@ -282,7 +280,7 @@ class Private { test.run(arguments = '.') -test.must_match('wrapper.out', "wrapper_with_args.py %(where_javah)s -d outdir2 -classpath class2 com.sub.bar.Example4 com.other.Example5 com.sub.bar.Example6\n" % locals(), +test.must_match('wrapper.out', "wrapper_with_args.py javah -d outdir2 -classpath class2 com.sub.bar.Example4 com.other.Example5 com.sub.bar.Example6\n" % locals(), mode='r') test.must_exist(['outdir1', 'com_sub_foo_Example1.h']) diff --git a/test/Java/JAVASOURCEPATH.py b/test/Java/JAVASOURCEPATH.py index 5f19004..8e7b762 100644 --- a/test/Java/JAVASOURCEPATH.py +++ b/test/Java/JAVASOURCEPATH.py @@ -39,8 +39,7 @@ test = TestSCons.TestSCons() where_javac, java_version = test.java_where_javac() test.write('SConstruct', """ -env = Environment(tools = ['javac', 'javah'], - JAVAC = r'%(where_javac)s') +env = Environment(tools = ['javac', 'javah']) bar = env.Java(target = 'bar/classes', source = 'bar/src/TestBar.java', JAVASOURCEPATH = ['foo/src']) diff --git a/test/Java/no-JARCHDIR.py b/test/Java/no-JARCHDIR.py index 2037524..11754c0 100644 --- a/test/Java/no-JARCHDIR.py +++ b/test/Java/no-JARCHDIR.py @@ -35,13 +35,12 @@ import TestSCons test = TestSCons.TestSCons() +# will skip tests when needed tools not present. where_javac, java_version = test.java_where_javac() where_jar = test.java_where_jar() test.subdir('src') - - test.write(['src', 'a.java'], """\ package foo.bar; public class a {} @@ -52,20 +51,13 @@ package foo.bar; public class b {} """) - - test.write('SConstruct', """\ -env = Environment(tools = ['javac', 'jar'], - JAVAC = r'%(where_javac)s', - JAR = r'%(where_jar)s') +env = Environment(tools = ['javac', 'jar']) jar = env.Jar('x.jar', env.Java(target = 'classes', source = 'src')) """ % locals()) test.run(arguments = '.') - - - test.run(program = where_jar, arguments = 'tf x.jar') expect = """\ @@ -75,16 +67,10 @@ foo/bar/b.class test.must_contain_all_lines(test.stdout(), [expect]) - - test.run(arguments = '-c') - - test.write('SConstruct', """\ env = Environment(tools = ['javac', 'jar'], - JAVAC = r'%(where_javac)s', - JAR = r'%(where_jar)s', JARCHDIR = None) jar = env.Jar('x.jar', env.Java(target = 'classes', source = 'src')) @@ -92,8 +78,6 @@ jar = env.Jar('x.jar', env.Java(target = 'classes', source = 'src')) test.run(arguments = '.') - - test.run(program = where_jar, arguments = 'tf x.jar') expect = """\ @@ -102,9 +86,6 @@ classes/foo/bar/b.class """ test.must_contain_all_lines(test.stdout(), [expect]) - - - test.pass_test() # Local Variables: diff --git a/test/Java/source-files.py b/test/Java/source-files.py index bf263cf..ab395a0 100644 --- a/test/Java/source-files.py +++ b/test/Java/source-files.py @@ -35,12 +35,8 @@ _python_ = TestSCons._python_ test = TestSCons.TestSCons() -where_javac, java_version = test.java_where_javac() - - test.write('SConstruct', """ -env = Environment(tools = ['javac', 'javah'], - JAVAC = r'%(where_javac)s') +env = Environment(tools = ['javac', 'javah']) env.Java(target = 'class1', source = 'com/Example1.java') env.Java(target = 'class2', source = ['com/Example2.java', 'com/Example3.java']) """ % locals()) diff --git a/test/Java/swig-dependencies.py b/test/Java/swig-dependencies.py index bd7a576..a3af9ec 100644 --- a/test/Java/swig-dependencies.py +++ b/test/Java/swig-dependencies.py @@ -40,7 +40,6 @@ if not swig: where_javac, java_version = test.java_where_javac() where_javah = test.java_where_javah() -#where_jar = test.java_where_jar() where_java_include=test.java_where_includes() @@ -51,12 +50,10 @@ test.subdir(['foo'], test.write(['SConstruct'], """\ import os -env = Environment(ENV = os.environ, - CPPPATH=%(where_java_include)s, - JAVAC = r'%(where_javac)s', - JAVAH = r'%(where_javah)s') - -env.Append(CPPFLAGS = ' -g -Wall') +env = Environment(ENV = os.environ) +if env['PLATFORM'] != 'win32': + env.Append(CPPFLAGS = ' -g -Wall') +env['CPPPATH'] ='$JAVAINCLUDES' Export('env') @@ -79,13 +76,28 @@ int fooAdd(int a, int b) { """) test.write(['foo', 'foo.h'], """\ +#ifdef _MSC_VER +__declspec(dllexport) +#endif int fooAdd(int, int); """) test.write(['java', 'Java_foo_interface.i'], """\ #include "foo.h" +#include <windows.i> + %module foopack + +%{ + +#ifdef _MSC_VER +__declspec(dllexport) +#endif +int hello(){ + return 1; +} +%} """) test.write(['java', 'SConscript'], """\ @@ -103,7 +115,7 @@ libadd = ['foo',] libpath = ['#foo',] #swigflags = '-c++ -java -Wall -package foopack -Ifoo' -swigflags = '-c++ -java -Wall -Ifoo' +swigflags = '-c++ -java -Wall -Ifoo -DTEST_$PLATFORM' Java_foo_interface = env.SharedLibrary( 'Java_foo_interface', diff --git a/test/Libs/SharedLibrary.py b/test/Libs/SharedLibrary.py index eac575c..cc3fa66 100644 --- a/test/Libs/SharedLibrary.py +++ b/test/Libs/SharedLibrary.py @@ -30,6 +30,7 @@ import sys import TestSCons test = TestSCons.TestSCons() +test.verbose_set(1) test.write('SConstruct', """ import sys |