diff options
Diffstat (limited to 'scipy/weave/tests/test_build_tools.py')
-rw-r--r-- | scipy/weave/tests/test_build_tools.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/scipy/weave/tests/test_build_tools.py b/scipy/weave/tests/test_build_tools.py new file mode 100644 index 000000000..9c43c5a4c --- /dev/null +++ b/scipy/weave/tests/test_build_tools.py @@ -0,0 +1,67 @@ +# still needed +# tests for MingW32Compiler +# don't know how to test gcc_exists() and msvc_exists()... + +import unittest +import os, sys, tempfile + +from scipy_test.testing import * +set_package_path() +from weave import build_tools +restore_path() + +def is_writable(val): + return os.access(val,os.W_OK) + +class test_configure_build_dir(unittest.TestCase): + def check_default(self): + " default behavior is to return current directory " + d = build_tools.configure_build_dir() + if is_writable('.'): + assert(d == os.path.abspath('.')) + assert(is_writable(d)) + def check_curdir(self): + " make sure it handles relative values. " + d = build_tools.configure_build_dir('.') + if is_writable('.'): + assert(d == os.path.abspath('.')) + assert(is_writable(d)) + def check_pardir(self): + " make sure it handles relative values " + d = build_tools.configure_build_dir('..') + if is_writable('..'): + assert(d == os.path.abspath('..')) + assert(is_writable(d)) + def check_bad_path(self): + " bad path should return same as default (and warn) " + d = build_tools.configure_build_dir('_bad_path_') + d2 = build_tools.configure_build_dir() + assert(d == d2) + assert(is_writable(d)) + +class test_configure_temp_dir(test_configure_build_dir): + def check_default(self): + " default behavior returns tempdir" + # this'll fail if the temp directory isn't writable. + d = build_tools.configure_temp_dir() + assert(d == tempfile.gettempdir()) + assert(is_writable(d)) + +class test_configure_sys_argv(unittest.TestCase): + def check_simple(self): + build_dir = 'build_dir' + temp_dir = 'temp_dir' + compiler = 'compiler' + pre_argv = sys.argv[:] + build_tools.configure_sys_argv(compiler,temp_dir,build_dir) + argv = sys.argv[:] + bd = argv[argv.index('--build-lib')+1] + assert(bd == build_dir) + td = argv[argv.index('--build-temp')+1] + assert(td == temp_dir) + argv.index('--compiler='+compiler) + build_tools.restore_sys_argv() + assert(pre_argv == sys.argv[:]) + +if __name__ == "__main__": + ScipyTest('weave.build_tools').run() |