From 4986e12ffffb30aeaad57929fecab69c656ef398 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= <cynerd@email.cz>
Date: Mon, 27 Apr 2015 21:35:45 +0200
Subject: Finish implementation of boot.boot

---
 scripts/boot.py | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

(limited to 'scripts')

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')
-- 
cgit v1.2.3