-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdiagnostics_runner.py
More file actions
112 lines (85 loc) · 2.91 KB
/
diagnostics_runner.py
File metadata and controls
112 lines (85 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import json
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parent
REPORT_PATH = PROJECT_ROOT / "reports" / "diagnostics_report.txt"
TEST_CASE_PATH = PROJECT_ROOT / "test_cases.json"
def execute_operation(operation, input_a, input_b):
if operation == "ADD":
return input_a + input_b
if operation == "SUB":
return input_a - input_b
if operation == "AND":
return input_a & input_b
if operation == "OR":
return input_a | input_b
if operation == "XOR":
return input_a ^ input_b
raise ValueError(f"Unsupported operation: {operation}")
def load_test_cases():
with TEST_CASE_PATH.open("r", encoding="utf-8-sig") as file:
return json.load(file)
def run_diagnostics(test_cases):
results = []
for test_case in test_cases:
actual = execute_operation(
test_case["operation"],
test_case["input_a"],
test_case["input_b"]
)
expected = test_case["expected"]
passed = actual == expected
results.append({
"case_id": test_case["case_id"],
"operation": test_case["operation"],
"input_a": test_case["input_a"],
"input_b": test_case["input_b"],
"expected": expected,
"actual": actual,
"status": "PASS" if passed else "FAIL"
})
return results
def build_report(results):
total_tests = len(results)
passed_tests = sum(1 for result in results if result["status"] == "PASS")
failed_tests = total_tests - passed_tests
lines = [
"Cloud Compute Diagnostics Report",
"=" * 40,
"",
f"Total Tests: {total_tests}",
f"Passed: {passed_tests}",
f"Failed: {failed_tests}",
"",
"Diagnostic Results",
"-" * 40
]
for result in results:
lines.append(
f"{result['case_id']} | {result['operation']} | "
f"Input A: {result['input_a']} | Input B: {result['input_b']} | "
f"Expected: {result['expected']} | Actual: {result['actual']} | "
f"{result['status']}"
)
lines.extend([
"",
"Operational Summary",
"-" * 40,
"Compute validation completed using controlled instruction test cases.",
"Expected outputs were compared against actual execution results.",
"This simulates a diagnostics workflow used to validate compute reliability before deployment."
])
return "\n".join(lines)
def save_report(report):
REPORT_PATH.parent.mkdir(parents=True, exist_ok=True)
with REPORT_PATH.open("w", encoding="utf-8") as file:
file.write(report)
def main():
test_cases = load_test_cases()
results = run_diagnostics(test_cases)
report = build_report(results)
save_report(report)
print(report)
print("")
print(f"Report saved to: {REPORT_PATH}")
if __name__ == "__main__":
main()