@@ -72,8 +72,9 @@ def run_test(args, i, t): # type: (argparse.Namespace, Any, Dict[str,str]) -> i
72
72
outdir = tempfile .mkdtemp ()
73
73
test_command .extend (["--outdir={}" .format (outdir ),
74
74
"--quiet" ,
75
- t ["tool" ],
76
- t ["job" ]])
75
+ t ["tool" ]])
76
+ if t ["job" ] != None :
77
+ test_command .extend ([t ["job" ]])
77
78
outstr = subprocess .check_output (test_command )
78
79
out = {"output" : json .loads (outstr )}
79
80
else :
@@ -82,8 +83,9 @@ def run_test(args, i, t): # type: (argparse.Namespace, Any, Dict[str,str]) -> i
82
83
"--basedir=" + args .basedir ,
83
84
"--no-container" ,
84
85
"--quiet" ,
85
- t ["tool" ],
86
- t ["job" ]]
86
+ t ["tool" ]]
87
+ if t ["job" ] != None :
88
+ test_command .extend ([t ["job" ]])
87
89
88
90
outstr = subprocess .check_output (test_command )
89
91
out = yaml .load (outstr )
@@ -100,12 +102,12 @@ def run_test(args, i, t): # type: (argparse.Namespace, Any, Dict[str,str]) -> i
100
102
_logger .error (t .get ("doc" ))
101
103
_logger .error ("Returned non-zero" )
102
104
return 1
103
- except yaml .scanner .ScannerError as e :
105
+ except ( yaml .scanner .ScannerError , TypeError ) as e :
104
106
_logger .error (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
105
107
_logger .error (outstr )
106
108
_logger .error (u"Parse error %s" , str (e ))
107
109
108
- pwd = os .path .abspath (os .path .dirname (t ["job" ]))
110
+ # pwd = os.path.abspath(os.path.dirname(t["job"]))
109
111
# t["args"] = map(lambda x: x.replace("$PWD", pwd), t["args"])
110
112
# if "stdin" in t:
111
113
# t["stdin"] = t["stdin"].replace("$PWD", pwd)
@@ -118,7 +120,8 @@ def run_test(args, i, t): # type: (argparse.Namespace, Any, Dict[str,str]) -> i
118
120
119
121
for key in checkkeys :
120
122
try :
121
- compare (t .get (key ), out .get (key ))
123
+ if key in t and key in out :
124
+ compare (t .get (key ), out .get (key ))
122
125
except CompareFail as ex :
123
126
_logger .warn (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
124
127
_logger .warn (t .get ("doc" ))
0 commit comments