Anonymous avatar Anonymous committed 0da315e

Win32 portability for tests.

Comments (0)

Files changed (2)

test/PRINT_CMD_LINE_FUNC.py

 Test the PRINT_CMD_LINE_FUNC construction variable.
 """
 
+import string
 import sys
 import TestCmd
 import TestSCons
 
+_exe = TestSCons._exe
+_obj = TestSCons._obj
+
 test = TestSCons.TestSCons(match = TestCmd.match_re)
 
 
 int main(int argc, char *argv[]) { return 0; }
 """)
 
-test.run(arguments = '-Q .', stdout = """\
-BUILDING prog.o from prog.c with .*
-BUILDING prog from prog.o with .*
-""")
+test.run(arguments = '-Q .')
+
+expected_lines = [
+    "BUILDING prog%s from prog.c with" % (_obj,),
+    "BUILDING prog%s from prog%s with" % (_exe, _obj),
+]
+
+missing_lines = filter(lambda l: string.find(test.stdout(), l) == -1,
+                       expected_lines)
+if missing_lines:
+    print "Expected the following lines in STDOUT:"
+    print "\t" + string.join(expected_lines, "\n\t")
+    print "ACTUAL STDOUT =========="
+    print test.stdout()
+    test.fail_test(1)
 
 test.run(arguments = '-c .')
 
                    QT_LIBPATH='$QTDIR/lib64',
                    QT_CPPPATH='$QTDIR/h64')
 
-if not env1.subst('$CPPPATH') == os.path.join(r'%(QTDIR)s', 'h64'):
-    print env1.subst('$CPPPATH')
+cpppath = env1.subst('$CPPPATH')
+if os.path.normpath(cpppath) != os.path.join(r'%(QTDIR)s', 'h64'):
+    print cpppath
     Exit(1)
-if not env1.subst('$LIBPATH') == os.path.join(r'%(QTDIR)s', 'lib64'):
-    print env1.subst('$LIBPATH')
+libpath = env1.subst('$LIBPATH')
+if os.path.normpath(libpath) != os.path.join(r'%(QTDIR)s', 'lib64'):
+    print libpath
     Exit(2)
-if not env1.subst('$QT_MOC') == os.path.join(r'%(QTDIR)s', 'bin64', 'moc'):
-    print env1.subst('$QT_MOC')
+qt_moc = env1.subst('$QT_MOC')
+if os.path.normpath(qt_moc) != os.path.join(r'%(QTDIR)s', 'bin64', 'moc'):
+    print qt_moc
     Exit(3)
 
 env2 = Environment(tools=['default', 'qt'],
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.