summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Java/JAR.py12
-rw-r--r--test/Java/JARCHDIR.py29
-rw-r--r--test/Java/JARFLAGS.py14
-rw-r--r--test/Java/JAVABOOTCLASSPATH.py7
-rw-r--r--test/Java/JAVACFLAGS.py3
-rw-r--r--test/Java/JAVACLASSPATH.py14
-rw-r--r--test/Java/JAVAH.py6
-rw-r--r--test/Java/JAVASOURCEPATH.py3
-rw-r--r--test/Java/no-JARCHDIR.py23
-rw-r--r--test/Java/source-files.py6
-rw-r--r--test/Java/swig-dependencies.py28
-rw-r--r--test/Libs/SharedLibrary.py1
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