summaryrefslogtreecommitdiff
path: root/src/engine/SCons/cppTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/cppTests.py')
-rw-r--r--src/engine/SCons/cppTests.py41
1 files changed, 37 insertions, 4 deletions
diff --git a/src/engine/SCons/cppTests.py b/src/engine/SCons/cppTests.py
index c16d3ce..8ed75d4 100644
--- a/src/engine/SCons/cppTests.py
+++ b/src/engine/SCons/cppTests.py
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 The SCons Foundation
+# Copyright (c) 2001 - 2014 The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -21,12 +21,14 @@
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
-__revision__ = "src/engine/SCons/cppTests.py 2014/03/02 14:18:15 garyo"
+__revision__ = "src/engine/SCons/cppTests.py 2014/07/05 09:42:21 garyo"
import atexit
import sys
import unittest
+import TestUnit
+
import cpp
@@ -325,6 +327,22 @@ no_space_input = """
"""
+nested_ifs_input = """
+#define DEFINED
+
+#ifdef NOT_DEFINED
+ #include "file7-no"
+ #ifdef DEFINED
+ #include "file8-no"
+ #else
+ #include "file9-no"
+ #endif
+#else
+ #include "file7-yes"
+#endif
+"""
+
+
# pp_class = PreProcessor
# #pp_class = DumbPreProcessor
@@ -401,6 +419,11 @@ class cppTestCase(unittest.TestCase):
result = self.cpp.process_contents(no_space_input)
assert expect == result, (expect, result)
+ def test_nested_ifs(self):
+ expect = self.nested_ifs_expect
+ result = self.cpp.process_contents(nested_ifs_input)
+ assert expect == result, (expect, result)
+
class cppAllTestCase(cppTestCase):
def setUp(self):
self.cpp = self.cpp_class(current = ".",
@@ -484,6 +507,10 @@ class PreProcessorTestCase(cppAllTestCase):
('include', '"', 'file44-yes'),
]
+ nested_ifs_expect = [
+ ('include', '"', 'file7-yes'),
+ ]
+
class DumbPreProcessorTestCase(cppAllTestCase):
cpp_class = cpp.DumbPreProcessor
@@ -589,6 +616,13 @@ class DumbPreProcessorTestCase(cppAllTestCase):
('include', '"', 'file44-yes'),
]
+ nested_ifs_expect = [
+ ('include', '"', 'file7-no'),
+ ('include', '"', 'file8-no'),
+ ('include', '"', 'file9-no'),
+ ('include', '"', 'file7-yes')
+ ]
+
import os
@@ -705,8 +739,7 @@ if __name__ == '__main__':
pass
names.sort()
suite.addTests(list(map(tclass, names)))
- if not unittest.TextTestRunner().run(suite).wasSuccessful():
- sys.exit(1)
+ TestUnit.run(suite)
# Local Variables:
# tab-width:4