if f.endswith(".js") and not f.endswith("_.js"):
attempts = 0
while attempts < 10:
- try:
- rfile = open(f, "r")
- test_code = rfile.readlines()
- test_retval = int(test_code[1].replace("// Returns:","").rstrip().replace("\\n","\n"));
- test_in = test_code[2].replace("// STDIN:","").rstrip().replace("\\n","\n");
- test_out = "^" + test_code[3].replace("// STDOUT:","").rstrip().replace("\\n","\n") + "$";
- test_err = "^" + test_code[4].replace("// STDERR:","").rstrip().replace("\\n","\n") + "$";
+ rfile = open(f, "r")
+ test_code = rfile.readlines()
+ test_retval = int(test_code[1].replace("// Returns:","").rstrip().replace("\\n","\n"));
+ test_in = test_code[2].replace("// STDIN:","").rstrip().replace("\\n","\n");
+ test_out = "^" + test_code[3].replace("// STDOUT:","").rstrip().replace("\\n","\n") + "$";
+ test_err = "^" + test_code[4].replace("// STDERR:","").rstrip().replace("\\n","\n") + "$";
- p = subprocess.Popen(f, shell=True,
- stdin=subprocess.PIPE, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, close_fds=True,
- cwd=os.path.join(mcwd,"javascript"))
- (out,err)=(p.stdout, p.stderr)
+ p = subprocess.Popen(f, shell=True,
+ stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE, close_fds=True,
+ cwd=os.path.join(mcwd,"javascript"))
+ (out,err)=(p.stdout, p.stderr)
- (run_out,run_err)=p.communicate(test_in + "\004")
- run_out = run_out.rstrip()
- run_err = run_err.rstrip()
+ (run_out,run_err)=p.communicate(test_in + "\004")
+ run_out = run_out.rstrip()
+ run_err = run_err.rstrip()
+ run_err = re.sub("Xlib: extension \".*\" missing on display \".*\".\n?","",run_err)
- out.close()
- err.close()
+ out.close()
+ err.close()
- if not re.match(test_out,run_out):
- failed.append([filename,test_out,run_out,0,run_err])
- sys.stdout.write("x")
- elif not re.match(test_err,run_err):
- failed.append([filename,test_err,run_err,1])
- sys.stdout.write("x")
- elif p.returncode != test_retval:
- failed.append([filename,test_retval,p.returncode,2]);
- sys.stdout.write("x")
- else:
- passed.append([filename])
- sys.stdout.write(".")
- sys.stdout.flush()
- break
- except:
- attempts += 1
+ if not re.match(test_out,run_out):
+ failed.append([filename,test_out,run_out,0,run_err])
+ sys.stdout.write("x")
+ elif not re.match(test_err,run_err):
+ failed.append([filename,test_err,run_err,1])
+ sys.stdout.write("x")
+ elif p.returncode != test_retval:
+ failed.append([filename,test_retval,p.returncode,2]);
+ sys.stdout.write("x")
+ else:
+ passed.append([filename])
+ sys.stdout.write(".")
+ sys.stdout.flush()
+ break
+ attempts += 1
if attempts == 10:
print "WARNING: Strange error in " + f + "\n\n"