Win32 portability: Fix error status passing back when calling sys.exit().
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 7 Sep 2002 21:07:06 +0000 (21:07 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 7 Sep 2002 21:07:06 +0000 (21:07 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@460 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/engine/SCons/Script/__init__.py
test/nonexistent.py
test/option-unknown.py

index 7c499da570605b4592a14e5f439a5aec8cb1f25f..cff3a215bdbc4295664a5c5b1d7e050f7690c2c9 100644 (file)
@@ -1031,8 +1031,9 @@ def main():
     
     try:
        _main()
-    except SystemExit:
-        pass
+    except SystemExit, s:
+        if s:
+            exit_status = s
     except KeyboardInterrupt:
         print "Build interrupted."
         sys.exit(2)
index bacc6cec36ecd7b82bfa13a4c22d26e12e87f37e..8f2c63ebf8cadaee9ce1a28e453061e675e6dee0 100644 (file)
@@ -32,11 +32,13 @@ test = TestSCons.TestSCons()
 test.write('SConstruct', "")
 
 test.run(arguments = 'foo',
-         stderr = "scons: *** Do not know how to make target `foo'.  Stop.\n")
+         stderr = "scons: *** Do not know how to make target `foo'.  Stop.\n",
+         status = 2)
 
 test.run(arguments = '-k foo/bar foo',
          stderr = """scons: *** Do not know how to make target `foo/bar'.
 scons: *** Do not know how to make target `foo'.
-""")
+""",
+         status = 2)
 
 test.pass_test()
index 68848a95ad497bb3a3ea9c3f1659dc72881382d6..496a7e02ceac0f8030bef5c297b1f672bfca38ea 100644 (file)
@@ -34,9 +34,17 @@ test = TestSCons.TestSCons(match = TestCmd.match_re)
 test.write('SConstruct', "")
 
 test.run(arguments = '-Z',
-        stderr = '\nSCons error: option -Z not recognized\nFile "\S+", line \d+, in short_has_arg\n')
+         stderr = """
+SCons error: option -Z not recognized
+File "\S+", line \d+, in short_has_arg
+""",
+         status = 2)
 
 test.run(arguments = '--ZizzerZazzerZuzz',
-        stderr = '\nSCons error: option --ZizzerZazzerZuzz not recognized\nFile "\S+", line \d+, in long_has_args\n')
+         stderr = """
+SCons error: option --ZizzerZazzerZuzz not recognized
+File "\S+", line \d+, in long_has_args
+""",
+         status = 2)
 
 test.pass_test()