summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-09-19 23:08:50 (GMT)
committerSteven Knight <knight@baldmt.com>2004-09-19 23:08:50 (GMT)
commit4ed25ffafd8f09ebd8b3f07d7ebfa15ca2ef8603 (patch)
treee0f1094b9735b22deac5d7f19e41d962fe3f10d0
parenta965b2ed53e58047b417e28c41a0f0c0f98b82b7 (diff)
downloadSCons-4ed25ffafd8f09ebd8b3f07d7ebfa15ca2ef8603.zip
SCons-4ed25ffafd8f09ebd8b3f07d7ebfa15ca2ef8603.tar.gz
SCons-4ed25ffafd8f09ebd8b3f07d7ebfa15ca2ef8603.tar.bz2
Win32 portability fixes for tests.
-rw-r--r--src/engine/SCons/dblite.py2
-rw-r--r--test/NodeOps.py27
-rw-r--r--test/build-errors.py2
3 files changed, 21 insertions, 10 deletions
diff --git a/src/engine/SCons/dblite.py b/src/engine/SCons/dblite.py
index c2407ea..8bd28e9 100644
--- a/src/engine/SCons/dblite.py
+++ b/src/engine/SCons/dblite.py
@@ -75,6 +75,8 @@ class dblite:
f = _open(self._tmp_name, "wb", self._mode)
cPickle.dump(self._dict, f, 1)
f.close()
+ # Win32 doesn't allow renaming if the file exists, so unlink it first.
+ os.unlink(self._file_name)
os.rename(self._tmp_name, self._file_name)
self._needs_sync = 00000
if (keep_all_files):
diff --git a/test/NodeOps.py b/test/NodeOps.py
index ae9268c..ffb8994 100644
--- a/test/NodeOps.py
+++ b/test/NodeOps.py
@@ -41,12 +41,17 @@ import TestSCons
import os
import string
+_exe = TestSCons._exe
+lib_ = TestSCons.lib_
+_lib = TestSCons._lib
+_obj = TestSCons._obj
+dll_ = TestSCons.dll_
+_dll = TestSCons._dll
+
if sys.platform == 'win32':
- _obj = '.obj'
fooflags = '/nologo -DFOO'
barflags = '/nologo -DBAR'
else:
- _obj = '.o'
fooflags = '-DFOO'
barflags = '-DBAR'
@@ -211,16 +216,20 @@ builddir_srcnodes = [ os.path.join('bld', 'goof.in'),
os.path.join('bld', 'subsrcdir', 'boo.c'),
]
-sub_build_nodes = [ os.path.join('bld','subsrcdir','boo.o'),
- os.path.join('bld','goo.o'),
- os.path.join('bld','goof.c'),
- os.path.join('bld','libgoo.a'),
+sub_build_nodes = [ os.path.join('bld', 'subsrcdir','boo' + _obj),
+ os.path.join('bld', 'goo' + _obj),
+ os.path.join('bld', 'goof.c'),
+ os.path.join('bld', lib_ + 'goo' + _lib),
]
-build_nodes = ['fooprog', 'libfoo.so', 'foo.o',
- 'barprog', 'libbar.so', 'bar.o',
+build_nodes = ['fooprog' + _exe,
+ dll_ + 'foo' + _dll,
+ 'foo' + _obj,
+ 'barprog' + _exe,
+ dll_ + 'bar' + _dll,
+ 'bar' + _obj,
- 'gooprog',
+ 'gooprog' + _exe,
] + builddir_srcnodes + sub_build_nodes
diff --git a/test/build-errors.py b/test/build-errors.py
index f64786f..67dac20 100644
--- a/test/build-errors.py
+++ b/test/build-errors.py
@@ -189,7 +189,7 @@ else:
test.write('SConstruct4', r"""
env = Environment()
-env.Command('test.out', 'test.in', 'cp $SOURCE $TARGET')
+env.Command('test.out', 'test.in', Copy('$TARGET', '$SOURCE'))
env.InstallAs('test2.out', 'test.out')
# Mark test2.out as precious so we'll handle the exception in
# FunctionAction() rather than when the target is cleaned before building.