From 0c393e38c41b56bfb65f0fcc3efb343aae51911c Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Sun, 6 Apr 2008 19:22:39 +0100 Subject: [PATCH] Fix case of 'diff xxx | head' appearing to succeed even if the diff command returned non-zero exit statux. --- wscript | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/wscript b/wscript index 885ccd1a7..dbcf5a9ba 100644 --- a/wscript +++ b/wscript @@ -677,12 +677,16 @@ class Regression(object): run_program(testName, command_template=get_command_template()) if verbose: - diffCmd = "diff traces " + refTestDirName + " | head" + #diffCmd = "diff traces " + refTestDirName + " | head" + diffCmd = subprocess.Popen(args=["diff", "traces", refTestDirName], stdout=subprocess.PIPE) + headCmd = subprocess.Popen(args=["diff", "traces", refTestDirName], stdin=diffCmd.stdout) + rc1 = diffCmd.wait() + rc2 = headCmd.wait() + rc = rc1 or rc2 else: diffCmd = "diff traces " + refTestDirName + \ " > /dev/null 2>&1" - - rc = os.system(diffCmd) + rc = os.system(diffCmd) if rc: print "----------" print "Traces differ in test: test-" + testName