From 17afc35ea54e3923fc1f534d4e1d2aa3167b30a3 Mon Sep 17 00:00:00 2001 From: stevenknight Date: Sun, 19 Sep 2004 23:08:50 +0000 Subject: [PATCH] Win32 portability fixes for tests. git-svn-id: http://scons.tigris.org/svn/scons/trunk@1086 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- src/engine/SCons/dblite.py | 2 ++ test/NodeOps.py | 27 ++++++++++++++++++--------- test/build-errors.py | 2 +- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/engine/SCons/dblite.py b/src/engine/SCons/dblite.py index c2407ea9..8bd28e90 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 ae9268c0..ffb89944 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 f64786fc..67dac202 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. -- 2.26.2