From f4cf935287a6ed8a1e968d88ff52bcb6d5a4d75b Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Tue, 25 Apr 2017 16:58:43 +0200
Subject: [PATCH] Bugfix in ParameterStudy

---
 runhelper/parameterstudy.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/runhelper/parameterstudy.py b/runhelper/parameterstudy.py
index 828a0ad00..bdc1f49ec 100644
--- a/runhelper/parameterstudy.py
+++ b/runhelper/parameterstudy.py
@@ -72,6 +72,12 @@ class ParameterStudy(object):
                 self.finishedRuns.append(run)
                 del self.currentlyRunning[clientName]
                 d = receivedJsonData
+
+                def hash_dict(d):
+                    import hashlib
+                    return hashlib.sha1(json.dumps(d, sort_keys=True).encode()).hexdigest()
+
+                assert hash_dict(d['params']) == hash_dict(run.parameterDict)
                 self.parameterStudy.db.save(run.parameterDict, d['result'], d['env'], changedParams=d['changedParams'])
                 return {}
 
@@ -112,10 +118,11 @@ class ParameterStudy(object):
                 scenario = json.loads(httpResponse.read().decode())
                 if scenario['status'] != 'ok':
                     break
+                originalParams = scenario['params'].copy()
                 scenario['params'].update(parameterUpdate)
                 result = self.runFunction(**scenario['params'])
 
-                answer = {'params': scenario['params'],
+                answer = {'params': originalParams,
                           'changedParams': parameterUpdate,
                           'result': result,
                           'env': Database.getEnv(),
-- 
GitLab