From 2b0c483cf0f95c88746d03d978250b8a89e51af2 Mon Sep 17 00:00:00 2001
From: Simon Ehrenstein <simon.ehrenstein@gmail.com>
Date: Tue, 6 Oct 2020 00:13:32 +0200
Subject: [PATCH] Fix tests, improve logs and store metadata file

---
 ...main_restriction_binary_search_strategy.py |  1 +
 ...t_domain_restriction_check_all_strategy.py |  1 +
 ...main_restriction_linear_search_strategy.py |  1 +
 ...t_no_restriction_binary_search_strategy.py |  1 +
 .../test_no_restriction_check_all_strategy.py |  1 +
 ...t_no_restriction_linear_search_strategy.py |  1 +
 execution/theodolite.py                       | 19 ++++++++++++++++++-
 7 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/execution/strategies/tests/test_domain_restriction_binary_search_strategy.py b/execution/strategies/tests/test_domain_restriction_binary_search_strategy.py
index ed727ad60..d93d4924c 100644
--- a/execution/strategies/tests/test_domain_restriction_binary_search_strategy.py
+++ b/execution/strategies/tests/test_domain_restriction_binary_search_strategy.py
@@ -88,6 +88,7 @@ def test_binary_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/strategies/tests/test_domain_restriction_check_all_strategy.py b/execution/strategies/tests/test_domain_restriction_check_all_strategy.py
index 33c32944b..c15daca6e 100644
--- a/execution/strategies/tests/test_domain_restriction_check_all_strategy.py
+++ b/execution/strategies/tests/test_domain_restriction_check_all_strategy.py
@@ -103,6 +103,7 @@ def test_linear_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/strategies/tests/test_domain_restriction_linear_search_strategy.py b/execution/strategies/tests/test_domain_restriction_linear_search_strategy.py
index 9188b4719..86e2cd29d 100644
--- a/execution/strategies/tests/test_domain_restriction_linear_search_strategy.py
+++ b/execution/strategies/tests/test_domain_restriction_linear_search_strategy.py
@@ -84,6 +84,7 @@ def test_linear_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/strategies/tests/test_no_restriction_binary_search_strategy.py b/execution/strategies/tests/test_no_restriction_binary_search_strategy.py
index 52ad2e0e7..4f5da89cc 100644
--- a/execution/strategies/tests/test_no_restriction_binary_search_strategy.py
+++ b/execution/strategies/tests/test_no_restriction_binary_search_strategy.py
@@ -93,6 +93,7 @@ def test_binary_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/strategies/tests/test_no_restriction_check_all_strategy.py b/execution/strategies/tests/test_no_restriction_check_all_strategy.py
index 6f0a0eed5..f173a3d16 100644
--- a/execution/strategies/tests/test_no_restriction_check_all_strategy.py
+++ b/execution/strategies/tests/test_no_restriction_check_all_strategy.py
@@ -120,6 +120,7 @@ def test_linear_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/strategies/tests/test_no_restriction_linear_search_strategy.py b/execution/strategies/tests/test_no_restriction_linear_search_strategy.py
index a7fd68b9b..0e47c2e95 100644
--- a/execution/strategies/tests/test_no_restriction_linear_search_strategy.py
+++ b/execution/strategies/tests/test_no_restriction_linear_search_strategy.py
@@ -101,6 +101,7 @@ def test_linear_search_strategy():
 
     # execute
     experiment_config = ExperimentConfig(
+        exp_id="0",
         use_case=uc,
         dim_values=dim_values,
         replicass=replicass,
diff --git a/execution/theodolite.py b/execution/theodolite.py
index 6049f3ffa..741d7e2ea 100755
--- a/execution/theodolite.py
+++ b/execution/theodolite.py
@@ -21,7 +21,7 @@ memory_limit=sys.argv[6] if len(sys.argv) >= 7 and sys.argv[6] else "4Gi"
 kafka_streams_commit_interval_ms=sys.argv[7] if len(sys.argv) >= 8 and sys.argv[7] else 100
 execution_minutes=sys.argv[8] if len(sys.argv) >= 9 and sys.argv[8] else 5
 domain_restriction=bool(sys.argv[9]) if len(sys.argv) >= 10 and sys.argv[9] == "restrict-domain" else False
-search_strategy=sys.argv[10] if len(sys.argv) >= 11 and (sys.argv[10] == "linear-search" or sys.argv[10] == "binary-search") else "default"
+search_strategy=sys.argv[10] if len(sys.argv) >= 11 and (sys.argv[10] == "linear-search" or sys.argv[10] == "binary-search") else "check-all"
 
 print(f"Domain restriction of search space activated: {domain_restriction}")
 print(f"Chosen search strategy: {search_strategy}")
@@ -35,6 +35,23 @@ else:
 with open("exp_counter.txt", mode="w") as write_stream:
     write_stream.write(str(exp_id+1))
 
+# Store metadata
+separator = ","
+lines = [
+        f"UC={uc}\n",
+        f"DIM_VALUES={separator.join(dim_values)}\n",
+        f"REPLICAS={separator.join(replicas)}\n",
+        f"PARTITIONS={partitions}\n",
+        f"CPU_LIMIT={cpu_limit}\n",
+        f"MEMORY_LIMIT={memory_limit}\n",
+        f"KAFKA_STREAMS_COMMIT_INTERVAL_MS={kafka_streams_commit_interval_ms}\n",
+        f"EXECUTION_MINUTES={execution_minutes}\n",
+        f"DOMAIN_RESTRICTION={domain_restriction}\n",
+        f"SEARCH_STRATEGY={search_strategy}"
+        ]
+with open(f"exp{exp_id}_uc{uc}_meta.txt", "w") as stream:
+    stream.writelines(lines)
+
 # domain restriction
 if domain_restriction:
     # domain restriction + linear-search
-- 
GitLab