|
@@ -180,7 +180,7 @@ def run_file(files, parameters, expected, mode):
|
|
|
kill(proc)
|
|
|
except UnboundLocalError:
|
|
|
pass
|
|
|
-
|
|
|
+
|
|
|
def run_barebone(parameters, expected, interface="0", timeout=False, wait=False, link=None, inputs=[]):
|
|
|
port = getFreePort()
|
|
|
address = "http://localhost:%i" % port
|
|
@@ -192,6 +192,11 @@ def run_barebone(parameters, expected, interface="0", timeout=False, wait=False,
|
|
|
timeout_val = 15
|
|
|
start = time.time()
|
|
|
while 1:
|
|
|
+ proc.poll()
|
|
|
+ if proc.returncode is not None:
|
|
|
+ # Modelverse has already terminated, which isn't a good sign!
|
|
|
+ return False
|
|
|
+
|
|
|
try:
|
|
|
urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "element_type": "V", "value": '"%s"' % username, "username": "user_manager"})), timeout=1).read()
|
|
|
if interface is not None:
|
|
@@ -200,10 +205,6 @@ def run_barebone(parameters, expected, interface="0", timeout=False, wait=False,
|
|
|
except:
|
|
|
time.sleep(0.01)
|
|
|
|
|
|
- if proc.returncode is not None:
|
|
|
- # Modelverse has already terminated, which isn't a good sign!
|
|
|
- return False
|
|
|
-
|
|
|
if time.time() - start > timeout_val:
|
|
|
raise
|
|
|
|
|
@@ -214,12 +215,13 @@ def run_barebone(parameters, expected, interface="0", timeout=False, wait=False,
|
|
|
if isinstance(p, int):
|
|
|
if p not in var_list:
|
|
|
data = flush_data(address, data)
|
|
|
- val = urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "username": username})), timeout=10).read()
|
|
|
|
|
|
+ proc.poll()
|
|
|
if proc.returncode is not None:
|
|
|
# Modelverse has already terminated, which isn't a good sign!
|
|
|
return False
|
|
|
|
|
|
+ val = urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "username": username})), timeout=10).read()
|
|
|
val = val.split("=", 2)[1].split("&", 1)[0]
|
|
|
var_list[p] = val
|
|
|
continue
|
|
@@ -246,9 +248,17 @@ def run_barebone(parameters, expected, interface="0", timeout=False, wait=False,
|
|
|
kill(proc2)
|
|
|
print("Linking timeout expired!")
|
|
|
return False
|
|
|
+ if proc.returncode is not None:
|
|
|
+ # Modelverse has already terminated, which isn't a good sign!
|
|
|
+ return False
|
|
|
+
|
|
|
|
|
|
for inp in inputs:
|
|
|
urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "element_type": "V", "value": inp, "username": username})), timeout=1).read()
|
|
|
+ proc.poll()
|
|
|
+ if proc.returncode is not None:
|
|
|
+ # Modelverse has already terminated, which isn't a good sign!
|
|
|
+ return False
|
|
|
|
|
|
counter = 0
|
|
|
for e in expected:
|
|
@@ -257,6 +267,11 @@ def run_barebone(parameters, expected, interface="0", timeout=False, wait=False,
|
|
|
for _ in range(c):
|
|
|
try:
|
|
|
val = urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "username": username})), timeout=15).read()
|
|
|
+ proc.poll()
|
|
|
+ if proc.returncode is not None:
|
|
|
+ # Modelverse has already terminated, which isn't a good sign!
|
|
|
+ return False
|
|
|
+
|
|
|
except:
|
|
|
if timeout:
|
|
|
return True
|