[pypy-svn] r11518 - pypy/dist/lib-python-2.3.4/test

arigo at codespeak.net arigo at codespeak.net
Wed Apr 27 15:25:20 CEST 2005


Author: arigo
Date: Wed Apr 27 15:25:20 2005
New Revision: 11518

Modified:
   pypy/dist/lib-python-2.3.4/test/conftest.py
Log:
Compare the output of output tests.


Modified: pypy/dist/lib-python-2.3.4/test/conftest.py
==============================================================================
--- pypy/dist/lib-python-2.3.4/test/conftest.py	(original)
+++ pypy/dist/lib-python-2.3.4/test/conftest.py	Wed Apr 27 15:25:20 2005
@@ -811,6 +811,13 @@
         cmd = "%s %s %d %s %s %s" %(python, alarm_script, TIMEOUT, pypy_script, sopt, fspath)
         resultfilename = mydir.join('result', fspath.new(ext='.txt').basename)
         resultfile = resultfilename.open('w')
+        if issubclass(self.testdecl.testclass, OutputTestModule):
+            outputfilename = resultfilename.new(ext='.out')
+            outputfile = outputfilename.open('w')
+            print >> outputfile, self.fspath.purebasename
+            outputfile.close()
+        else:
+            outputfilename = None
 
         try:
             username = getpass.getuser()
@@ -822,12 +829,19 @@
         print >> resultfile, "sys.version_info:", sys.version_info 
         print >> resultfile, "startdate:", time.ctime()
         print >> resultfile, 'pypy-revision:', getrev(pypydir)
+        if outputfilename:
+            print >> resultfile, "OUTPUT TEST"
+            print >> resultfile, "see output in:", str(outputfilename)
         print >> resultfile, '='*60
         print "executing", cmd 
         starttime = time.time()
         resultfile.close()
 
-        status = os.system("%s >>%s 2>&1" %(cmd, resultfilename) )
+        if outputfilename:
+            status = os.system("%s >>%s 2>>%s" %(cmd, outputfilename,
+                                                 resultfilename) )
+        else:
+            status = os.system("%s >>%s 2>&1" %(cmd, resultfilename) )
         if os.WIFEXITED(status):
             status = os.WEXITSTATUS(status)
         else:
@@ -842,3 +856,11 @@
             time.sleep(0.5)   # time for a Ctrl-C to reach us :-)
         #print output 
         assert status == 0, "exitstatus is %d" %(status,)
+
+        if outputfilename:
+            expectedfilename = mydir.join('output', self.fspath.purebasename)
+            expected = expectedfilename.read(mode='r')
+            result = outputfilename.read(mode='r')
+            if result != expected: 
+                reportdiff(expected, result) 
+                py.test.fail("output check failed: %s" % (self.fspath.basename,))



More information about the Pypy-commit mailing list