diff options
-rw-r--r-- | scripts/boot.py | 28 |
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') |