Have the closing message say ...terminated
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 18 Sep 2003 07:43:08 +0000 (07:43 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 18 Sep 2003 07:43:08 +0000 (07:43 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@801 fdb21ef1-2011-0410-befe-b5e4ea1792b1

etc/TestSCons.py
src/CHANGES.txt
src/engine/SCons/Script/__init__.py
test/Exit.py
test/build-errors.py

index 59b0647612b072f26a0423424593fce1d67bfcba..ede575d21ebe85933bba8e002169325b56c861b1 100644 (file)
@@ -244,16 +244,20 @@ class TestSCons(TestCmd.TestCmd):
             return None
         return env.Detect([prog])
 
-    def wrap_stdout(self, build_str = "", read_str = ""):
+    def wrap_stdout(self, build_str = "", read_str = "", error = 0):
         """Wraps standard output string(s) in the normal
         "Reading ... done" and "Building ... done" strings
         """
+        if error:
+            term = "scons: building terminated because of errors.\n"
+        else:
+            term = "scons: done building targets.\n"
         return "scons: Reading SConscript files ...\n" + \
                read_str + \
                "scons: done reading SConscript files.\n" + \
                "scons: Building targets ...\n" + \
                build_str + \
-               "scons: done building targets.\n"
+               term
 
     def up_to_date(self, options = None, arguments = None, **kw):
         s = ""
index f692b7422f2f8c4b7ff01d3ac96af64a75e49060..7fe5cf1c69b1bda59da9fd24a73d654d36780ad7 100644 (file)
@@ -82,6 +82,11 @@ RELEASE X.XX - XXX
   - Split the non-SCons-specific functionality from SConf.py to a new,
     re-usable Conftest.py module.
 
+  From Marko Rauhamaa:
+
+  - Have the closing message say "...terminated because of errors" if
+    there were any.
+
   From Christoph Wiedemann:
   
   - Fix test/SWIG.py to find the Python include directory in all cases.
index ed9216bbf74eab206416dced330c6b33bf4d586a..613f7754d9f24d706a1ee7eb16d7fd9bdb9d22c3 100644 (file)
@@ -920,6 +920,7 @@ def _main(args, parser):
     task_class = BuildTask     # default action is to build targets
     opening_message = "Building targets ..."
     closing_message = "done building targets."
+    failure_message = "building terminated because of errors."
     if options.question:
         task_class = QuestionTask
     try:
@@ -937,6 +938,7 @@ def _main(args, parser):
             calc = CleanCalculator()
             opening_message = "Cleaning targets ..."
             closing_message = "done cleaning targets."
+            failure_message = "cleaning terminated because of errors."
     except AttributeError:
         pass
 
@@ -965,7 +967,10 @@ def _main(args, parser):
     try:
         jobs.run()
     finally:
-        progress_display("scons: " + closing_message)
+        if exit_status:
+            progress_display("scons: " + failure_message)
+        else:
+            progress_display("scons: " + closing_message)
         if not options.noexec:
             SCons.Sig.write()
 
index 686cdb37fac55a762cb884985a0574661f67b1f2..42ae77734bcb4714d2a33af5cfbd059bae3d5038 100644 (file)
@@ -119,7 +119,7 @@ test.write(['subdir', 'foo.in'], "subdir/foo.in\n")
 test.run(status = 27,
          stdout = test.wrap_stdout("""\
 exit_builder("%s", "%s")
-""" % (subdir_foo_out, subdir_foo_in)),
+""" % (subdir_foo_out, subdir_foo_in), error=1),
          stderr = """\
 scons: *** [%s] Explicit exit, status 27
 """ % (subdir_foo_out))
@@ -150,7 +150,7 @@ env.Cat('foo', 'foo.k')
 test.write('foo.k', "foo.k\n")
 
 test.run(status = 37,
-         stdout = test.wrap_stdout(""),
+         stdout = test.wrap_stdout("", error=1),
          stderr = "scons: *** [foo] Explicit exit, status 37\n")
 
 #
index 9acbefb7d445a1e2af5af160e798d0192e5e280e..1ea2d7a9fbf80a6d1e4ffacea03e1acb78a109f3 100644 (file)
@@ -48,7 +48,7 @@ env.bld(target = 'f1', source = 'f1.in')
 """ % string.replace(no_such_file, '\\', '\\\\'))
 
 test.run(arguments='-f SConstruct1 .',
-        stdout = test.wrap_stdout("%s f1.in f1\n" % no_such_file),
+        stdout = test.wrap_stdout("%s f1.in f1\n" % no_such_file, error=1),
          stderr = None,
          status = 2)
 
@@ -131,7 +131,7 @@ env.bld(target = 'f2', source = 'f2.in')
 """ % string.replace(not_executable, '\\', '\\\\'))
 
 test.run(arguments='-f SConstruct2 .',
-        stdout = test.wrap_stdout("%s f2.in f2\n" % not_executable),
+        stdout = test.wrap_stdout("%s f2.in f2\n" % not_executable, error=1),
          stderr = None,
          status = 2)
 
@@ -163,7 +163,7 @@ env.bld(target = 'f3', source = 'f3.in')
 """ % string.replace(test.workdir, '\\', '\\\\'))
 
 test.run(arguments='-f SConstruct3 .',
-        stdout = test.wrap_stdout("%s f3.in f3\n" % test.workdir),
+        stdout = test.wrap_stdout("%s f3.in f3\n" % test.workdir, error=1),
          stderr = None,
          status = 2)