diff options
author | Greg Noel <GregNoel@tigris.org> | 2009-04-18 16:56:22 +0000 |
---|---|---|
committer | Greg Noel <GregNoel@tigris.org> | 2009-04-18 16:56:22 +0000 |
commit | b7ba1ced6a7f0a56ea9e1c81d30f057e751c263f (patch) | |
tree | df97f69bcf6db6082047925e185d179fa442af55 /test/SWIG | |
parent | 06e929344b34e3dc1a5c69d47278eaa5d22b3cf1 (diff) | |
download | scons-b7ba1ced6a7f0a56ea9e1c81d30f057e751c263f.tar.gz |
Modify the SWIG tests so that OS X is treated like a UNIX platform (which it
really is). OS X now not only runs all the SWIG tests (it used to skip many
of them because it could not find the appropriate files), it now passes all
the tests.
Diffstat (limited to 'test/SWIG')
-rw-r--r-- | test/SWIG/SWIG.py | 8 | ||||
-rw-r--r-- | test/SWIG/SWIGOUTDIR-python.py | 18 | ||||
-rw-r--r-- | test/SWIG/SWIGPATH.py | 8 | ||||
-rw-r--r-- | test/SWIG/build-dir.py | 18 | ||||
-rw-r--r-- | test/SWIG/implicit-dependencies.py | 8 | ||||
-rw-r--r-- | test/SWIG/live.py | 34 | ||||
-rw-r--r-- | test/SWIG/module-parens.py | 18 | ||||
-rw-r--r-- | test/SWIG/module-quoted.py | 16 | ||||
-rw-r--r-- | test/SWIG/noproxy.py | 20 | ||||
-rw-r--r-- | test/SWIG/remove-modules.py | 25 | ||||
-rw-r--r-- | test/SWIG/subdir.py | 22 |
11 files changed, 81 insertions, 114 deletions
diff --git a/test/SWIG/SWIG.py b/test/SWIG/SWIG.py index d76ef648..3ddc6861 100644 --- a/test/SWIG/SWIG.py +++ b/test/SWIG/SWIG.py @@ -35,8 +35,9 @@ _obj = TestSCons._obj test = TestSCons.TestSCons() -_python_ = test.get_quoted_platform_python() - +python = test.where_is('python') +if not python: + test,skip_test('Can not find installed "python", skipping test.\n') test.write('myswig.py', r""" @@ -55,7 +56,8 @@ sys.exit(0) """) test.write('SConstruct', """ -env = Environment(tools=['default', 'swig'], SWIG = r'%(_python_)s myswig.py') +env = Environment(tools=['default', 'swig'], + SWIG = [r'%(python)s', 'myswig.py']) env.Program(target = 'test1', source = 'test1.i') env.CFile(target = 'test2', source = 'test2.i') env.Clone(SWIGFLAGS = '-c++').Program(target = 'test3', source = 'test3.i') diff --git a/test/SWIG/SWIGOUTDIR-python.py b/test/SWIG/SWIGOUTDIR-python.py index 3f6667ec..763e9c4e 100644 --- a/test/SWIG/SWIGOUTDIR-python.py +++ b/test/SWIG/SWIGOUTDIR-python.py @@ -34,27 +34,23 @@ import os test = TestSCons.TestSCons() -test = TestSCons.TestSCons() - swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -python_include_dir = test.get_python_inc() - -python_frameworks_flags = test.get_python_frameworks_flags() - -Python_h = os.path.join(python_include_dir, 'Python.h') +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) test.write(['SConstruct'], """\ env = Environment(SWIGFLAGS = '-python -c++', - CPPPATH=r"%(python_include_dir)s", - SWIG=r'%(swig)s', + CPPPATH=[r"%(python_include)s"], + SWIG=[r'%(swig)s'], SWIGOUTDIR='python/build dir', - FRAMEWORKS='%(python_frameworks_flags)s', + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', ) import sys diff --git a/test/SWIG/SWIGPATH.py b/test/SWIG/SWIGPATH.py index 4832814c..30426da1 100644 --- a/test/SWIG/SWIGPATH.py +++ b/test/SWIG/SWIGPATH.py @@ -33,12 +33,12 @@ import TestSCons test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -_python_ = test.get_quoted_platform_python() - +python = test.where_is('python') +if not python: + test,skip_test('Can not find installed "python", skipping test.\n') test.subdir('inc1', 'inc2') @@ -57,7 +57,7 @@ test.write('SConstruct', """ foo = Environment(SWIGFLAGS='-python', SWIGPATH=['inc1', 'inc2']) swig = foo.Dictionary('SWIG') -bar = foo.Clone(SWIG = r'%(_python_)s wrapper.py ' + swig) +bar = foo.Clone(SWIG = [r'%(python)s', 'wrapper.py', swig]) foo.CFile(target = 'dependent', source = ['dependent.i']) """ % locals()) diff --git a/test/SWIG/build-dir.py b/test/SWIG/build-dir.py index 5fa3cebe..d5b52360 100644 --- a/test/SWIG/build-dir.py +++ b/test/SWIG/build-dir.py @@ -38,7 +38,6 @@ import TestSCons test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') @@ -51,27 +50,26 @@ else: test.subdir(['source']) -python_include_dir = test.get_python_inc() - -Python_h = os.path.join(python_include_dir, 'Python.h') - +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) -python_frameworks_flags = test.get_python_frameworks_flags() - test.write(['SConstruct'], """\ # # Create the build environment. # -env = Environment(CPPPATH = [".", r'%(python_include_dir)s'], +env = Environment(CPPPATH = [".", r'%(python_include)s'], CPPDEFINES = "NDEBUG", - SWIG =r'%(swig)s', + SWIG = [r'%(swig)s'], SWIGFLAGS = ["-python", "-c++"], SWIGCXXFILESUFFIX = "_wrap.cpp", LDMODULEPREFIX='_', LDMODULESUFFIX='%(_dll)s', - FRAMEWORKS='%(python_frameworks_flags)s') + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', + ) import sys if sys.version[0] == '1': diff --git a/test/SWIG/implicit-dependencies.py b/test/SWIG/implicit-dependencies.py index 49f9cc75..6d402162 100644 --- a/test/SWIG/implicit-dependencies.py +++ b/test/SWIG/implicit-dependencies.py @@ -33,12 +33,12 @@ import TestSCons test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -_python_ = test.get_quoted_platform_python() - +python = test.where_is('python') +if not python: + test.skip_test('Can not find installed "python", skipping test.\n') test.write("dependency.i", """\ @@ -54,7 +54,7 @@ test.write("dependent.i", """\ test.write('SConstruct', """ foo = Environment(SWIGFLAGS='-python') swig = foo.Dictionary('SWIG') -bar = foo.Clone(SWIG = r'%(_python_)s wrapper.py ' + swig) +bar = foo.Clone(SWIG = [r'%(python)s', r'wrapper.py', swig]) foo.CFile(target = 'dependent', source = ['dependent.i']) """ % locals()) diff --git a/test/SWIG/live.py b/test/SWIG/live.py index 0caa9b5d..0a4c9059 100644 --- a/test/SWIG/live.py +++ b/test/SWIG/live.py @@ -47,31 +47,15 @@ swig = test.where_is('swig') if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') - -python = test.where_is('python') - -# handle testing on other platforms: -ldmodule_prefix = '_' - -test.run(program = python, stdin = """\ -import os, sys -try: - py_ver = 'python%d.%d' % sys.version_info[:2] -except AttributeError: - py_ver = 'python' + sys.version[:3] -print os.path.join(sys.prefix, 'include', py_ver) -print os.path.join(sys.prefix, 'lib', py_ver, 'config') -print py_ver -""") - -#TODO(1.5) config_info = test.stdout().strip().split('\n') -config_info = string.split(string.strip(test.stdout()), '\n') -python_include,python_libpath,python_lib = config_info - +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) +# handle testing on other platforms: +ldmodule_prefix = '_' + test.write("wrapper.py", """import os import string @@ -82,11 +66,11 @@ os.system(string.join(sys.argv[1:], " ")) test.write('SConstruct', """\ foo = Environment(SWIGFLAGS='-python', - CPPPATH=r'%(python_include)s', + CPPPATH=[r'%(python_include)s'], LDMODULEPREFIX='%(ldmodule_prefix)s', LDMODULESUFFIX='%(_dll)s', - SWIG=r'%(swig)s', - LIBPATH=r'%(python_libpath)s', + SWIG=[r'%(swig)s'], + LIBPATH=[r'%(python_libpath)s'], LIBS='%(python_lib)s', ) @@ -96,7 +80,7 @@ if sys.version[0] == '1': foo.Append(SWIGFLAGS = ' -classic') swig = foo.Dictionary('SWIG') -bar = foo.Clone(SWIG = r'"%(python)s" wrapper.py ' + swig) +bar = foo.Clone(SWIG = [r'%(python)s', 'wrapper.py', swig]) foo.LoadableModule(target = 'foo', source = ['foo.c', 'foo.i']) bar.LoadableModule(target = 'bar', source = ['bar.c', 'bar.i']) """ % locals()) diff --git a/test/SWIG/module-parens.py b/test/SWIG/module-parens.py index f80e10c4..78862180 100644 --- a/test/SWIG/module-parens.py +++ b/test/SWIG/module-parens.py @@ -35,24 +35,22 @@ import TestSCons test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -python_include_dir = test.get_python_inc() - -python_frameworks_flags = test.get_python_frameworks_flags() - -Python_h = os.path.join(python_include_dir, 'Python.h') +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) test.write(['SConstruct'], """\ env = Environment(SWIGFLAGS = '-python -c++', - CPPPATH=r"%(python_include_dir)s", - SWIG=r'%(swig)s', - FRAMEWORKS='%(python_frameworks_flags)s', - ) + CPPPATH=[r'%(python_include)s'], + SWIG=[r'%(swig)s'], + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', + ) import sys if sys.version[0] == '1': diff --git a/test/SWIG/module-quoted.py b/test/SWIG/module-quoted.py index 20015824..89402ebf 100644 --- a/test/SWIG/module-quoted.py +++ b/test/SWIG/module-quoted.py @@ -35,23 +35,21 @@ import TestSCons test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -python_include_dir = test.get_python_inc() - -python_frameworks_flags = test.get_python_frameworks_flags() - -Python_h = os.path.join(python_include_dir, 'Python.h') +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) test.write(['SConstruct'], """\ env = Environment(SWIGFLAGS = '-python -c++', - CPPPATH=r"%(python_include_dir)s", - SWIG=r'%(swig)s', - FRAMEWORKS='%(python_frameworks_flags)s', + CPPPATH=[r'%(python_include)s'], + SWIG=[r'%(swig)s'], + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', ) import sys diff --git a/test/SWIG/noproxy.py b/test/SWIG/noproxy.py index 0d109b85..1aaeb08c 100644 --- a/test/SWIG/noproxy.py +++ b/test/SWIG/noproxy.py @@ -29,6 +29,7 @@ Verify that SCons realizes the -noproxy option means no .py file will be created. """ +import os import sys import TestSCons @@ -43,19 +44,18 @@ else: test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -_python_ = test.get_quoted_platform_python() +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') +if not os.path.exists(Python_h): + test.skip_test('Can not find %s, skipping test.\n' % Python_h) # handle testing on other platforms: ldmodule_prefix = '_' -python_include_dir = test.get_python_inc() - -python_frameworks_flags = test.get_python_frameworks_flags() - test.write("dependency.i", """\ %module dependency """) @@ -68,14 +68,16 @@ test.write("dependent.i", """\ test.write('SConstruct', """ foo = Environment(SWIGFLAGS=['-python', '-noproxy'], - CPPPATH='%(python_include_dir)s', + CPPPATH=[r'%(python_include)s'], LDMODULEPREFIX='%(ldmodule_prefix)s', LDMODULESUFFIX='%(_dll)s', - FRAMEWORKS='%(python_frameworks_flags)s', + SWIG=[r'%(swig)s'], + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', ) swig = foo.Dictionary('SWIG') -bar = foo.Clone(SWIG = r'%(_python_)s wrapper.py ' + swig) +bar = foo.Clone(SWIG = [r'%(python)s', 'wrapper.py', swig]) foo.CFile(target = 'dependent', source = ['dependent.i']) """ % locals()) diff --git a/test/SWIG/remove-modules.py b/test/SWIG/remove-modules.py index e0e91da8..8ed24eff 100644 --- a/test/SWIG/remove-modules.py +++ b/test/SWIG/remove-modules.py @@ -39,29 +39,23 @@ import TestSCons if sys.platform == 'win32': _dll = '.dll' else: - _dll = '.so' + _dll = '.so' test = TestSCons.TestSCons() swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') - +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') +if not os.path.exists(Python_h): + test.skip_test('Can not find %s, skipping test.\n' % Python_h) # handle testing on other platforms: ldmodule_prefix = '_' -python_include_dir = test.get_python_inc() - -Python_h = os.path.join(python_include_dir, 'Python.h') - -if not os.path.exists(Python_h): - test.skip_test('Can not find %s, skipping test.\n' % Python_h) - -python_frameworks_flags = test.get_python_frameworks_flags() - test.write("module.i", """\ %module modulename @@ -69,11 +63,12 @@ test.write("module.i", """\ test.write('SConstruct', """ foo = Environment(SWIGFLAGS='-python', - CPPPATH='%(python_include_dir)s', + CPPPATH=['%(python_include)s'], LDMODULEPREFIX='%(ldmodule_prefix)s', LDMODULESUFFIX='%(_dll)s', - FRAMEWORKS='%(python_frameworks_flags)s', - SWIG=r'%(swig)s', + SWIG=[r'%(swig)s'], + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', ) import sys diff --git a/test/SWIG/subdir.py b/test/SWIG/subdir.py index 6a746f36..d4798f66 100644 --- a/test/SWIG/subdir.py +++ b/test/SWIG/subdir.py @@ -46,32 +46,26 @@ test = TestSCons.TestSCons() test.subdir('sub') swig = test.where_is('swig') - if not swig: test.skip_test('Can not find installed "swig", skipping test.\n') -python = test.get_platform_python() -_python_ = test.get_quoted_platform_python() - -# handle testing on other platforms: -ldmodule_prefix = '_' - -python_include_dir = test.get_python_inc() - -Python_h = os.path.join(python_include_dir, 'Python.h') - +python, python_include, python_libpath, python_lib = \ + test.get_platform_python_info() +Python_h = os.path.join(python_include, 'Python.h') if not os.path.exists(Python_h): test.skip_test('Can not find %s, skipping test.\n' % Python_h) -python_frameworks_flags = test.get_python_frameworks_flags() +# handle testing on other platforms: +ldmodule_prefix = '_' test.write('SConstruct', """ env = Environment(SWIGFLAGS='-python', - CPPPATH='%(python_include_dir)s/', + CPPPATH=['%(python_include)s/'], LDMODULEPREFIX='%(ldmodule_prefix)s', LDMODULESUFFIX='%(_dll)s', - FRAMEWORKS='%(python_frameworks_flags)s', SWIG=r'%(swig)s', + LIBPATH=[r'%(python_libpath)s'], + LIBS='%(python_lib)s', ) import sys |