aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/boot.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/scripts/boot.py b/scripts/boot.py
index 50e9f0c..dac17ef 100644
--- a/scripts/boot.py
+++ b/scripts/boot.py
@@ -2,6 +2,7 @@ import os
import sys
import subprocess
import shutil
+import importlib
import utils
from conf import conf
@@ -20,9 +21,32 @@ def gen_nbscript():
f.write('load ' + sf(conf.initram) + '\n')
def boot():
- if not os.path.isfile(conf.nbscript):
+ if not os.path.isfile((conf.nbscript)):
gen_nbscript()
+ try:
+ os.mkdir(sf(conf.output_folder))
+ except FileExistsError:
+ pass
+
+ bench = importlib.machinery.SourceFileLoader("module.name",
+ "../benchmark.py").load_module()
- sprc = subprocess.Popen([conf.novaboot, conf.nbscript] + conf.novaboot_args,
+ sprc = subprocess.Popen([sf(conf.novaboot), sf(conf.nbscript)] + conf.novaboot_args,
stdout = subprocess.PIPE)
+ output = ''
+ for linen in sprc.stdout:
+ line = linen.decode('utf-8')
+ if conf.boot_output:
+ print(line, end="")
+ if line.startswith('lcp-output: '):
+ output += line[12:]
+ print(output)
+ data = bench.stdoutput(output)
+
+ iteration = 0
+ with open(sf(conf.iteration_file), 'a') as f:
+ iteration = int(f.readline())
+ for key, val in data.items():
+ with open(os.path.join(sf(conf.output_folder),key), 'w') as f:
+ f.write(str(iteration) + ':' + str(val) + '\n')