From 452998ac1675af1a5a1cac4c34f89eec895ab812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Tue, 29 Apr 2025 17:34:10 +0200 Subject: [PATCH 01/23] Add comment next to all python procedure_id --- docs_tofupilot/attachments/client/main.py | 2 +- docs_tofupilot/integrations/client/main.py | 2 +- docs_tofupilot/offline-upload/client/main.py | 2 +- docs_tofupilot/phases/advanced/client/main.py | 2 +- docs_tofupilot/phases/optional/client/main.py | 2 +- docs_tofupilot/phases/required/client/main.py | 2 +- docs_tofupilot/procedures/client/main.py | 2 +- docs_tofupilot/sub-units/client/main.py | 2 +- docs_tofupilot/unit-under-test/client/main.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs_tofupilot/attachments/client/main.py b/docs_tofupilot/attachments/client/main.py index 49daaae..dc49f63 100644 --- a/docs_tofupilot/attachments/client/main.py +++ b/docs_tofupilot/attachments/client/main.py @@ -12,7 +12,7 @@ def main(): attachments = phase_file_attachment() client.create_run( - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, run_passed=True, attachments=attachments, diff --git a/docs_tofupilot/integrations/client/main.py b/docs_tofupilot/integrations/client/main.py index 38e6028..c75b970 100644 --- a/docs_tofupilot/integrations/client/main.py +++ b/docs_tofupilot/integrations/client/main.py @@ -5,7 +5,7 @@ def main(): client = TofuPilotClient() client.create_run( - procedure_id="FVT1", # Define the TofuPilot's procedure ID + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={ "serial_number": "PCB1A001", "part_number": "PCB1", diff --git a/docs_tofupilot/offline-upload/client/main.py b/docs_tofupilot/offline-upload/client/main.py index 580da85..5674b06 100644 --- a/docs_tofupilot/offline-upload/client/main.py +++ b/docs_tofupilot/offline-upload/client/main.py @@ -7,7 +7,7 @@ def main(): client = TofuPilotClient() client.create_run( - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application started_at=datetime.now() - timedelta(days=1), # Run performed the day before unit_under_test={ "serial_number": "PCB1A003", diff --git a/docs_tofupilot/phases/advanced/client/main.py b/docs_tofupilot/phases/advanced/client/main.py index 8dd7f29..a5a6c2d 100644 --- a/docs_tofupilot/phases/advanced/client/main.py +++ b/docs_tofupilot/phases/advanced/client/main.py @@ -9,7 +9,7 @@ def main(): start_time_millis = datetime.now().timestamp() * 1000 client.create_run( - procedure_id="FVT1", # First create procedure in Application + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={ "serial_number": "PCB1A002", "part_number": "PCB1", diff --git a/docs_tofupilot/phases/optional/client/main.py b/docs_tofupilot/phases/optional/client/main.py index fa9a47d..e6338a7 100644 --- a/docs_tofupilot/phases/optional/client/main.py +++ b/docs_tofupilot/phases/optional/client/main.py @@ -35,7 +35,7 @@ def main(): phases = [phase_voltage_measure()] client.create_run( - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={ "serial_number": "PCB1A001", "part_number": "PCB1"}, diff --git a/docs_tofupilot/phases/required/client/main.py b/docs_tofupilot/phases/required/client/main.py index e43bd91..cde1da4 100644 --- a/docs_tofupilot/phases/required/client/main.py +++ b/docs_tofupilot/phases/required/client/main.py @@ -21,7 +21,7 @@ def main(): phases = [phase_one()] client.create_run( - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={ "serial_number": "PCB1A001", "part_number": "PCB1"}, diff --git a/docs_tofupilot/procedures/client/main.py b/docs_tofupilot/procedures/client/main.py index 01213c0..61d9a9f 100644 --- a/docs_tofupilot/procedures/client/main.py +++ b/docs_tofupilot/procedures/client/main.py @@ -6,7 +6,7 @@ def main(): client = TofuPilotClient() client.create_run( - procedure_id="FVT1", # First create procedure in Application + procedure_id="FVT1", # Create the procedure first in the Application run_passed=True, unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, duration=timedelta(minutes=1, seconds=45), diff --git a/docs_tofupilot/sub-units/client/main.py b/docs_tofupilot/sub-units/client/main.py index 117b214..3ea816a 100644 --- a/docs_tofupilot/sub-units/client/main.py +++ b/docs_tofupilot/sub-units/client/main.py @@ -9,7 +9,7 @@ def main(): client = TofuPilotClient() client.create_run( - procedure_id="FVT2", # First create procedure in Application + procedure_id="FVT2", # Create the procedure first in the Application unit_under_test={"serial_number": "CAM1A001", "part_number": "CAM1"}, run_passed=True, sub_units=[{"serial_number": "PCB1A001"}, {"serial_number": "LEN1A001"}], diff --git a/docs_tofupilot/unit-under-test/client/main.py b/docs_tofupilot/unit-under-test/client/main.py index d4a6ca5..ca05bfd 100644 --- a/docs_tofupilot/unit-under-test/client/main.py +++ b/docs_tofupilot/unit-under-test/client/main.py @@ -7,7 +7,7 @@ def main(): phases = [] client.create_run( - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={ "serial_number": "PCB1A002", "part_number": "PCB1", From 45f6d2db4b3e849d82190477673dcdb63b31938d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 11:03:48 +0200 Subject: [PATCH 02/23] Add comments to openhtf to add procedure_id --- docs_tofupilot/attachments/openhtf/main.py | 5 +++-- docs_tofupilot/integrations/openhtf/main.py | 4 ++-- docs_tofupilot/procedures/openhtf/main.py | 2 +- docs_tofupilot/sub-units/openhtf/main.py | 2 +- docs_tofupilot/unit-under-test/openhtf/main.py | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs_tofupilot/attachments/openhtf/main.py b/docs_tofupilot/attachments/openhtf/main.py index 6053e23..11c425d 100644 --- a/docs_tofupilot/attachments/openhtf/main.py +++ b/docs_tofupilot/attachments/openhtf/main.py @@ -11,8 +11,9 @@ def phase_file_attachment(test): def main(): test = htf.Test( phase_file_attachment, - procedure_id="FVT1", - part_number="PCB1") + procedure_id="FVT1", # Create the procedure first in the Application + part_number="PCB1", + ) with TofuPilot(test): test.execute(lambda: "PCB1A001") diff --git a/docs_tofupilot/integrations/openhtf/main.py b/docs_tofupilot/integrations/openhtf/main.py index a072fc2..835818d 100644 --- a/docs_tofupilot/integrations/openhtf/main.py +++ b/docs_tofupilot/integrations/openhtf/main.py @@ -2,12 +2,12 @@ from tofupilot.openhtf import TofuPilot # Import OpenHTF for TofuPilot -def phase_one(test): +def phase_one(): return htf.PhaseResult.CONTINUE def main(): - test = htf.Test(phase_one) + test = htf.Test(phase_one, procedure_id="FVT1", part_number="PCB01") # Specify procedure and part_number with TofuPilot(test): # One-line integration test.execute(lambda: "PCB1A001") diff --git a/docs_tofupilot/procedures/openhtf/main.py b/docs_tofupilot/procedures/openhtf/main.py index fb373c4..1c2db5e 100644 --- a/docs_tofupilot/procedures/openhtf/main.py +++ b/docs_tofupilot/procedures/openhtf/main.py @@ -4,7 +4,7 @@ def main(): test = htf.Test( - procedure_id="FVT1", # Procedure name set by default as "openhtf_test" + procedure_id="FVT1", # Create the procedure first in the Application part_number="PCB1", ) with TofuPilot(test): diff --git a/docs_tofupilot/sub-units/openhtf/main.py b/docs_tofupilot/sub-units/openhtf/main.py index 6a866f2..8bddfce 100644 --- a/docs_tofupilot/sub-units/openhtf/main.py +++ b/docs_tofupilot/sub-units/openhtf/main.py @@ -8,7 +8,7 @@ def main(): test = Test( - procedure_id="FVT2", # First create procedure in Application + procedure_id="FVT2", # Create the procedure first in the Application part_number="CAM1", sub_units=[{"serial_number": "PCB1A001"}, {"serial_number": "LEN1A001"}], ) diff --git a/docs_tofupilot/unit-under-test/openhtf/main.py b/docs_tofupilot/unit-under-test/openhtf/main.py index 3659e70..6600dc8 100644 --- a/docs_tofupilot/unit-under-test/openhtf/main.py +++ b/docs_tofupilot/unit-under-test/openhtf/main.py @@ -6,7 +6,7 @@ def main(): phases = [] # Your test phases here test = Test( phases, - procedure_id="FVT1", + procedure_id="FVT1", # Create the procedure first in the Application part_number="PCB1", revision="A", # optional batch_number="12-24", # optional From da54f96f5478cc120ec52f5ef7ef19b1072d2aa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 11:04:14 +0200 Subject: [PATCH 03/23] Add MQTT to required python package --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a3b2c32..50b3d42 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ openhtf six tofupilot -numpy \ No newline at end of file +numpy +paho-mqtt \ No newline at end of file From 37dc6ff9a5397f7ace71aad4adcdab15bbb0e079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 11:11:10 +0200 Subject: [PATCH 04/23] Add logger script to documentation --- docs_tofupilot/logger/openhtf/main.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs_tofupilot/logger/openhtf/main.py diff --git a/docs_tofupilot/logger/openhtf/main.py b/docs_tofupilot/logger/openhtf/main.py new file mode 100644 index 0000000..42d3eca --- /dev/null +++ b/docs_tofupilot/logger/openhtf/main.py @@ -0,0 +1,24 @@ +import openhtf as htf +from tofupilot.openhtf import TofuPilot + + +@htf.measures(htf.Measurement("boolean_measure").equals(True)) +def phase_with_info_logger(test): + test.measurements.boolean_measure = True + # You can log info, warning, error, and critical. By default, debug. + test.logger.info("Logging an information") + + +def main(): + test = htf.Test( + phase_with_info_logger, + procedure_id="FVT1", + part_number="PCB01", + ) + + with TofuPilot(test): + test.execute(lambda: "PCB1A001") + + +if __name__ == "__main__": + main() From 0959b6174c3baab9b0acd0d60ca4ee000d96f0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 15:45:34 +0200 Subject: [PATCH 05/23] Add openhtf measurements script for documentation --- .../phases/dimensions/openhtf/main.py | 36 +++++++++++++++++++ .../phases/multi-measurements/openhtf/main.py | 33 +++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 docs_tofupilot/phases/dimensions/openhtf/main.py create mode 100644 docs_tofupilot/phases/multi-measurements/openhtf/main.py diff --git a/docs_tofupilot/phases/dimensions/openhtf/main.py b/docs_tofupilot/phases/dimensions/openhtf/main.py new file mode 100644 index 0000000..5ffa975 --- /dev/null +++ b/docs_tofupilot/phases/dimensions/openhtf/main.py @@ -0,0 +1,36 @@ +import openhtf as htf +from openhtf.util import units +from tofupilot.openhtf import TofuPilot +import random + + +@htf.measures( + htf.Measurement("current_voltage_resistence_over_time") + .with_dimensions(units.SECOND, units.VOLT, units.AMPERE) + .with_units(units.OHM), +) +def power_phase(test): + for t in range(100): + timestamp = t / 100 + voltage = round(random.uniform(3.3, 3.5), 2) + current = round(random.uniform(0.3, 0.8), 3) + resistance = voltage / current + test.measurements.current_voltage_resistence_over_time[ + timestamp, voltage, current + ] = resistance + + +def main(): + test = htf.Test( + power_phase, + procedure_id="FVT1", + part_number="PCB01", + ) + + # Execute the test + with TofuPilot(test): + test.execute(lambda: "PCB1A003") + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/phases/multi-measurements/openhtf/main.py b/docs_tofupilot/phases/multi-measurements/openhtf/main.py new file mode 100644 index 0000000..5f80a90 --- /dev/null +++ b/docs_tofupilot/phases/multi-measurements/openhtf/main.py @@ -0,0 +1,33 @@ +import openhtf as htf +from openhtf.util import units +from tofupilot.openhtf import TofuPilot +import random + + +@htf.measures( + htf.Measurement("is_connected").equals(True), # Boolean measure + htf.Measurement("firmware_version").equals("1.2.7"), # String measure + htf.Measurement("input_voltage").in_range(3.2, 3.4).with_units(units.VOLT), + htf.Measurement("input_current").in_range(maximum=1.5).with_units(units.AMPERE), +) +def phase_multi_measurements(test): + test.measurements.is_connected = True + test.measurements.firmware_version = "1.2.7" + + test.measurements.input_voltage = round(random.uniform(3.29, 3.42), 2) + test.measurements.input_current = round(random.uniform(1.0, 1.55), 3) + + +def main(): + test = htf.Test( + phase_multi_measurements, + procedure_id="FVT1", + part_number="PCB01", + ) + + with TofuPilot(test): + test.execute(lambda: "PCB1A004") + + +if __name__ == "__main__": + main() From a5116d791cd9750c745f0da202a302d27f74f42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 16:09:36 +0200 Subject: [PATCH 06/23] Add dimension measurement script in documentation --- .../phases/dimensions/client/main.py | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs_tofupilot/phases/dimensions/client/main.py diff --git a/docs_tofupilot/phases/dimensions/client/main.py b/docs_tofupilot/phases/dimensions/client/main.py new file mode 100644 index 0000000..ba86015 --- /dev/null +++ b/docs_tofupilot/phases/dimensions/client/main.py @@ -0,0 +1,51 @@ +from datetime import datetime +from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient +import random + +client = TofuPilotClient() + + +def phase_voltage_measure(): + start_time_millis = datetime.now().timestamp() * 1000 + + structured_measurements = [] + for t in range(100): + timestamp = t / 100 + voltage = round(random.uniform(3.3, 3.5), 2) + current = round(random.uniform(0.3, 0.8), 3) + resistance = voltage / current + structured_measurements.append((timestamp, voltage, current, resistance)) + + phase = [ + { + "name": "power_phase", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start_time_millis, + "end_time_millis": start_time_millis + 30 * 1000, + "measurements": [ + { + "name": "current_voltage_resistence_over_time", + "units": ["s", "V", "A", "Ohm"], + "measured_value": structured_measurements, + "outcome": MeasurementOutcome.PASS, + } + ], + } + ] + + return phase + + +def main(): + phases = phase_voltage_measure() + + client.create_run( + procedure_id="FVT1", # Create the procedure first in the Application + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, + phases=phases, + run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + ) + + +if __name__ == "__main__": + main() From 67af5e427e2743e70a0bdba207d37055a1421d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Thu, 1 May 2025 16:15:39 +0200 Subject: [PATCH 07/23] Add python script for multi-measurement in documention --- .../phases/multi-measurements/client/main.py | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 docs_tofupilot/phases/multi-measurements/client/main.py diff --git a/docs_tofupilot/phases/multi-measurements/client/main.py b/docs_tofupilot/phases/multi-measurements/client/main.py new file mode 100644 index 0000000..6bfe457 --- /dev/null +++ b/docs_tofupilot/phases/multi-measurements/client/main.py @@ -0,0 +1,78 @@ +import random +from datetime import datetime +from tofupilot import TofuPilotClient, PhaseOutcome, MeasurementOutcome + +client = TofuPilotClient() + + +def phase_multi_measurements(): + start_time_millis = datetime.now().timestamp() * 1000 + + is_connected = True + firmware_version = "1.2.7" + input_voltage = round(random.uniform(3.29, 3.42), 2) + input_current = round(random.uniform(1.0, 1.55), 3) + + phase = [ + { + "name": "phase_multi_measurements", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start_time_millis, + "end_time_millis": start_time_millis + 5000, + "measurements": [ + { + "name": "is_connected", + "measured_value": is_connected, + "outcome": MeasurementOutcome.PASS, + }, + { + "name": "firmware_version", + "measured_value": firmware_version, + "outcome": MeasurementOutcome.PASS, + }, + { + "name": "input_voltage", + "units": "V", + "lower_limit": 3.2, + "upper_limit": 3.4, + "measured_value": input_voltage, + "outcome": ( + MeasurementOutcome.PASS + if 3.2 <= input_voltage <= 3.4 + else MeasurementOutcome.FAIL + ), + }, + { + "name": "input_current", + "units": "A", + "upper_limit": 1.5, + "measured_value": input_current, + "outcome": ( + MeasurementOutcome.PASS + if input_current <= 1.5 + else MeasurementOutcome.FAIL + ), + }, + ], + } + ] + + return phase + + +def main(): + phases = phase_multi_measurements() + + client.create_run( + procedure_id="FVT1", + unit_under_test={ + "serial_number": "PCB1A004", + "part_number": "PCB01", + }, + phases=phases, + run_passed=all(p["outcome"] == PhaseOutcome.PASS for p in phases), + ) + + +if __name__ == "__main__": + main() From cc780c45c1fc3f12b22b6e9d9b2ef2cbc7c73dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Mon, 5 May 2025 15:48:43 +0200 Subject: [PATCH 08/23] Create new measurements repo in documentation --- .../measurements/boolean/client/main.py | 42 ++++++++++++++++++ .../measurements/boolean/openhtf/main.py | 22 ++++++++++ .../dimensional}/client/main.py | 0 .../dimensional}/openhtf/main.py | 0 .../multi-measurements/client/main.py | 0 .../multi-measurements/openhtf/main.py | 0 .../measurements/numerical/client/main.py | 44 +++++++++++++++++++ .../measurements/numerical/openhtf/main.py | 27 ++++++++++++ .../measurements/string/client/main.py | 42 ++++++++++++++++++ .../measurements/string/openhtf/main.py | 22 ++++++++++ 10 files changed, 199 insertions(+) create mode 100644 docs_tofupilot/measurements/boolean/client/main.py create mode 100644 docs_tofupilot/measurements/boolean/openhtf/main.py rename docs_tofupilot/{phases/dimensions => measurements/dimensional}/client/main.py (100%) rename docs_tofupilot/{phases/dimensions => measurements/dimensional}/openhtf/main.py (100%) rename docs_tofupilot/{phases => measurements}/multi-measurements/client/main.py (100%) rename docs_tofupilot/{phases => measurements}/multi-measurements/openhtf/main.py (100%) create mode 100644 docs_tofupilot/measurements/numerical/client/main.py create mode 100644 docs_tofupilot/measurements/numerical/openhtf/main.py create mode 100644 docs_tofupilot/measurements/string/client/main.py create mode 100644 docs_tofupilot/measurements/string/openhtf/main.py diff --git a/docs_tofupilot/measurements/boolean/client/main.py b/docs_tofupilot/measurements/boolean/client/main.py new file mode 100644 index 0000000..c426c5f --- /dev/null +++ b/docs_tofupilot/measurements/boolean/client/main.py @@ -0,0 +1,42 @@ +from datetime import datetime +from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient +import random + +client = TofuPilotClient() + + +def phase_led(): + start_time_millis = datetime.now().timestamp() * 1000 + + phase = [ + { + "name": "phase_led", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start_time_millis, + "end_time_millis": start_time_millis + 1000, + "measurements": [ + { + "name": "is_led_switch_on", + "measured_value": True, + "outcome": MeasurementOutcome.PASS, + } + ], + } + ] + + return phase + + +def main(): + phases = phase_led() + + client.create_run( + procedure_id="FVT1", # Create the procedure first in the Application + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, + phases=phases, + run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + ) + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/measurements/boolean/openhtf/main.py b/docs_tofupilot/measurements/boolean/openhtf/main.py new file mode 100644 index 0000000..0cb8035 --- /dev/null +++ b/docs_tofupilot/measurements/boolean/openhtf/main.py @@ -0,0 +1,22 @@ +import openhtf as htf +from tofupilot.openhtf import TofuPilot + + +@htf.measures(htf.Measurement("is_led_switch_on").equals(True)) +def phase_led(test): + test.measurements.is_led_switch_on = True + + +def main(): + test = htf.Test( + phase_led, + procedure_id="FVT1", # Create the procedure first in the Application + part_number="PCB1", + ) + + with TofuPilot(test): + test.execute(lambda: "PCB001") + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/phases/dimensions/client/main.py b/docs_tofupilot/measurements/dimensional/client/main.py similarity index 100% rename from docs_tofupilot/phases/dimensions/client/main.py rename to docs_tofupilot/measurements/dimensional/client/main.py diff --git a/docs_tofupilot/phases/dimensions/openhtf/main.py b/docs_tofupilot/measurements/dimensional/openhtf/main.py similarity index 100% rename from docs_tofupilot/phases/dimensions/openhtf/main.py rename to docs_tofupilot/measurements/dimensional/openhtf/main.py diff --git a/docs_tofupilot/phases/multi-measurements/client/main.py b/docs_tofupilot/measurements/multi-measurements/client/main.py similarity index 100% rename from docs_tofupilot/phases/multi-measurements/client/main.py rename to docs_tofupilot/measurements/multi-measurements/client/main.py diff --git a/docs_tofupilot/phases/multi-measurements/openhtf/main.py b/docs_tofupilot/measurements/multi-measurements/openhtf/main.py similarity index 100% rename from docs_tofupilot/phases/multi-measurements/openhtf/main.py rename to docs_tofupilot/measurements/multi-measurements/openhtf/main.py diff --git a/docs_tofupilot/measurements/numerical/client/main.py b/docs_tofupilot/measurements/numerical/client/main.py new file mode 100644 index 0000000..3aabd05 --- /dev/null +++ b/docs_tofupilot/measurements/numerical/client/main.py @@ -0,0 +1,44 @@ +from datetime import datetime +from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient + +client = TofuPilotClient() + + +def phase_temperature(): + start_time_millis = datetime.now().timestamp() * 1000 + + phase = [ + { + "name": "phase_temperature", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start_time_millis, + "end_time_millis": start_time_millis + 1000, + "measurements": [ + { + "name": "temperature", + "measured_value": 25, + "units": "C", + "outcome": MeasurementOutcome.PASS, + "lower_limit": 0, + "upper_limit": 100, + } + ], + } + ] + + return phase + + +def main(): + phases = phase_temperature() + + client.create_run( + procedure_id="FVT1", # Create the procedure first in the Application + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, + phases=phases, + run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + ) + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/measurements/numerical/openhtf/main.py b/docs_tofupilot/measurements/numerical/openhtf/main.py new file mode 100644 index 0000000..44aa197 --- /dev/null +++ b/docs_tofupilot/measurements/numerical/openhtf/main.py @@ -0,0 +1,27 @@ +import openhtf as htf +from openhtf.util import units +from tofupilot.openhtf import TofuPilot + + +@htf.measures( + htf.Measurement("temperature") # Declares the measurement name + .in_range(0, 100) # Defines the lower and upper limits + .with_units(units.DEGREE_CELSIUS) # Specifies the unit +) +def phase_temperature(test): + test.measurements.temperature = 25 # Set the temperature measured value to 25°C + + +def main(): + test = htf.Test( + phase_temperature, + procedure_id="FVT1", # Create the procedure first in the Application + part_number="PCB1", + ) + + with TofuPilot(test): + test.execute(lambda: "PCB001") + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/measurements/string/client/main.py b/docs_tofupilot/measurements/string/client/main.py new file mode 100644 index 0000000..6f13e1e --- /dev/null +++ b/docs_tofupilot/measurements/string/client/main.py @@ -0,0 +1,42 @@ +from datetime import datetime +from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient + +client = TofuPilotClient() + + +def phase_firmware(): + start_time_millis = datetime.now().timestamp() * 1000 + + phase = [ + { + "name": "phase_firmware", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start_time_millis, + "end_time_millis": start_time_millis + 1000, + "measurements": [ + { + "name": "temperature", + "measured_value": "1.2.4", + "outcome": MeasurementOutcome.PASS, + "equals": "1.2.4", + } + ], + } + ] + + return phase + + +def main(): + phases = phase_firmware() + + client.create_run( + procedure_id="FVT1", # Create the procedure first in the Application + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, + phases=phases, + run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + ) + + +if __name__ == "__main__": + main() diff --git a/docs_tofupilot/measurements/string/openhtf/main.py b/docs_tofupilot/measurements/string/openhtf/main.py new file mode 100644 index 0000000..ab5b1bf --- /dev/null +++ b/docs_tofupilot/measurements/string/openhtf/main.py @@ -0,0 +1,22 @@ +import openhtf as htf +from tofupilot.openhtf import TofuPilot + + +@htf.measures(htf.Measurement("firmware_version").equals("1.2.4")) +def phase_firmware(test): + test.measurements.firmware_version = "1.2.4" + + +def main(): + test = htf.Test( + phase_firmware, + procedure_id="FVT1", # Create the procedure first in the Application + part_number="PCB1", + ) + + with TofuPilot(test): + test.execute(lambda: "PCB001") + + +if __name__ == "__main__": + main() From b5f2a25981bb54e8c1c195e942514fefcc304e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Mon, 5 May 2025 15:56:33 +0200 Subject: [PATCH 09/23] Fix string measurement in python --- docs_tofupilot/measurements/string/client/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs_tofupilot/measurements/string/client/main.py b/docs_tofupilot/measurements/string/client/main.py index 6f13e1e..6bb993b 100644 --- a/docs_tofupilot/measurements/string/client/main.py +++ b/docs_tofupilot/measurements/string/client/main.py @@ -18,7 +18,6 @@ def phase_firmware(): "name": "temperature", "measured_value": "1.2.4", "outcome": MeasurementOutcome.PASS, - "equals": "1.2.4", } ], } From 23db729e88e949c27b06bbd019545e203cede631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Mon, 5 May 2025 16:36:48 +0200 Subject: [PATCH 10/23] Add example for logger with Python client --- docs_tofupilot/logger/client/main.py | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs_tofupilot/logger/client/main.py diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/logger/client/main.py new file mode 100644 index 0000000..8d35cd7 --- /dev/null +++ b/docs_tofupilot/logger/client/main.py @@ -0,0 +1,49 @@ +import logging +import sys +from tofupilot import TofuPilotClient + + +class JsonCaptureHandler(logging.Handler): + def __init__(self): + super().__init__() + self.logs = [] + + def emit(self, record): + log_entry = { + "level": record.levelname, + "timestamp": int(record.created * 1000), + "message": record.getMessage(), + "source_file": record.filename, + "line_number": record.lineno, + } + self.logs.append(log_entry) + + +# Initialize the TofuPilot client. +client = TofuPilotClient() + +# Set up local logger +local_logger = logging.getLogger("test_logger") +local_logger.setLevel(logging.DEBUG) +local_logger.propagate = ( + False # if we don't want to propagate to the parent/root logger +) + +capture_handler = JsonCaptureHandler() +output_handler = logging.StreamHandler(sys.stdout) +local_logger.addHandler(capture_handler) +local_logger.addHandler(output_handler) + + +local_logger.warning("This is a log we want to keep.") + +# Create a run and send logs +try: + client.create_run( + procedure_id="FVT1", + unit_under_test={"serial_number": "00007035", "part_number": "LOGS01"}, + run_passed=True, + logs=capture_handler.logs, + ) +finally: + local_logger.removeHandler(capture_handler) From 32e017d14fd388c2b4f26794347ec7e9197bf48f Mon Sep 17 00:00:00 2001 From: Julien Buteau Date: Mon, 5 May 2025 21:20:30 +0200 Subject: [PATCH 11/23] Fix timestamp format in Python logger client - Fix timestamp format to use ISO-8601 with Z timezone as required by API - Rename handler class to TofuPilotLogHandler for clarity - Improve code organization and comments - Add examples of different log levels --- docs_tofupilot/logger/client/main.py | 31 +++++++++++++++++----------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/logger/client/main.py index 8d35cd7..dc61f8e 100644 --- a/docs_tofupilot/logger/client/main.py +++ b/docs_tofupilot/logger/client/main.py @@ -1,17 +1,21 @@ import logging import sys +from datetime import datetime from tofupilot import TofuPilotClient -class JsonCaptureHandler(logging.Handler): +class TofuPilotLogHandler(logging.Handler): + """Handler that captures logs in a format compatible with TofuPilot API.""" + def __init__(self): super().__init__() self.logs = [] def emit(self, record): + # Format log with ISO-8601 timestamp (millisecond precision) for TofuPilot API log_entry = { "level": record.levelname, - "timestamp": int(record.created * 1000), + "timestamp": f"{datetime.fromtimestamp(record.created).isoformat(timespec='milliseconds')}Z", "message": record.getMessage(), "source_file": record.filename, "line_number": record.lineno, @@ -19,25 +23,28 @@ def emit(self, record): self.logs.append(log_entry) -# Initialize the TofuPilot client. +# Initialize the TofuPilot client to report test results client = TofuPilotClient() -# Set up local logger +# Set up local logger with custom name and prevent propagation to parent loggers local_logger = logging.getLogger("test_logger") local_logger.setLevel(logging.DEBUG) -local_logger.propagate = ( - False # if we don't want to propagate to the parent/root logger -) +local_logger.propagate = False -capture_handler = JsonCaptureHandler() -output_handler = logging.StreamHandler(sys.stdout) +# Add handlers: one for TofuPilot API capture and one for console output +capture_handler = TofuPilotLogHandler() local_logger.addHandler(capture_handler) -local_logger.addHandler(output_handler) +local_logger.addHandler(logging.StreamHandler(sys.stdout)) -local_logger.warning("This is a log we want to keep.") +# Log examples at different severity levels +local_logger.debug("Debug message: Detailed information for troubleshooting") +local_logger.info("Info message: Normal operation information") +local_logger.warning("Warning: Something unexpected but not critical") +local_logger.error("Error: A significant problem that needs attention") +local_logger.critical("Critical: System unstable, immediate action required") -# Create a run and send logs +# Create a run and send captured logs to TofuPilot try: client.create_run( procedure_id="FVT1", From 42fe23367ab2f36cf2b5d3cdd939369c239e24a2 Mon Sep 17 00:00:00 2001 From: upview Date: Mon, 5 May 2025 19:24:06 +0000 Subject: [PATCH 12/23] Auto code format --- docs_tofupilot/integrations/openhtf/main.py | 4 ++- docs_tofupilot/logger/client/main.py | 9 +++-- .../measurements/boolean/client/main.py | 6 ++-- .../measurements/dimensional/client/main.py | 9 +++-- .../measurements/dimensional/openhtf/main.py | 3 +- .../multi-measurements/client/main.py | 3 +- .../multi-measurements/openhtf/main.py | 6 ++-- .../measurements/numerical/client/main.py | 4 ++- .../measurements/string/client/main.py | 4 ++- .../phases/advanced/openhtf/main.py | 8 +++-- docs_tofupilot/phases/optional/client/main.py | 4 +-- docs_tofupilot/phases/required/client/main.py | 4 +-- docs_tofupilot/procedures/client/main.py | 1 + docs_tofupilot/stations/client/main.py | 11 +++--- docs_tofupilot/stations/openhtf/main.py | 3 +- docs_tofupilot/sub-units/client/main.py | 3 +- docs_tofupilot/sub-units/openhtf/main.py | 3 +- qa/client/create_run/basic/main.py | 7 ++-- .../create_run/phases_string_outcome/main.py | 1 + .../create_run/procedure_version/main.py | 1 + qa/client/create_run/started_at/main.py | 14 +++++--- qa/openhtf/generic/main.py | 10 ++++-- qa/openhtf/logger/main.py | 9 +++-- qa/openhtf/multi_dimensions/main.py | 16 +++++---- qa/openhtf/multi_measurements/main.py | 36 ++++++++++++------- qa/openhtf/procedure_version/main.py | 1 + qa/openhtf/regex_serial_number/main.py | 1 + 27 files changed, 120 insertions(+), 61 deletions(-) diff --git a/docs_tofupilot/integrations/openhtf/main.py b/docs_tofupilot/integrations/openhtf/main.py index 835818d..7acc686 100644 --- a/docs_tofupilot/integrations/openhtf/main.py +++ b/docs_tofupilot/integrations/openhtf/main.py @@ -7,7 +7,9 @@ def phase_one(): def main(): - test = htf.Test(phase_one, procedure_id="FVT1", part_number="PCB01") # Specify procedure and part_number + test = htf.Test( + phase_one, procedure_id="FVT1", part_number="PCB01" + ) # Specify procedure and part_number with TofuPilot(test): # One-line integration test.execute(lambda: "PCB1A001") diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/logger/client/main.py index dc61f8e..595755e 100644 --- a/docs_tofupilot/logger/client/main.py +++ b/docs_tofupilot/logger/client/main.py @@ -1,18 +1,20 @@ import logging import sys from datetime import datetime + from tofupilot import TofuPilotClient class TofuPilotLogHandler(logging.Handler): """Handler that captures logs in a format compatible with TofuPilot API.""" - + def __init__(self): super().__init__() self.logs = [] def emit(self, record): - # Format log with ISO-8601 timestamp (millisecond precision) for TofuPilot API + # Format log with ISO-8601 timestamp (millisecond precision) for + # TofuPilot API log_entry = { "level": record.levelname, "timestamp": f"{datetime.fromtimestamp(record.created).isoformat(timespec='milliseconds')}Z", @@ -26,7 +28,8 @@ def emit(self, record): # Initialize the TofuPilot client to report test results client = TofuPilotClient() -# Set up local logger with custom name and prevent propagation to parent loggers +# Set up local logger with custom name and prevent propagation to parent +# loggers local_logger = logging.getLogger("test_logger") local_logger.setLevel(logging.DEBUG) local_logger.propagate = False diff --git a/docs_tofupilot/measurements/boolean/client/main.py b/docs_tofupilot/measurements/boolean/client/main.py index c426c5f..343f7e5 100644 --- a/docs_tofupilot/measurements/boolean/client/main.py +++ b/docs_tofupilot/measurements/boolean/client/main.py @@ -1,6 +1,7 @@ +import random from datetime import datetime + from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient -import random client = TofuPilotClient() @@ -34,7 +35,8 @@ def main(): procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, - run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + run_passed=all( + phase["outcome"] == PhaseOutcome.PASS for phase in phases), ) diff --git a/docs_tofupilot/measurements/dimensional/client/main.py b/docs_tofupilot/measurements/dimensional/client/main.py index ba86015..775582e 100644 --- a/docs_tofupilot/measurements/dimensional/client/main.py +++ b/docs_tofupilot/measurements/dimensional/client/main.py @@ -1,6 +1,7 @@ +import random from datetime import datetime + from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient -import random client = TofuPilotClient() @@ -14,7 +15,8 @@ def phase_voltage_measure(): voltage = round(random.uniform(3.3, 3.5), 2) current = round(random.uniform(0.3, 0.8), 3) resistance = voltage / current - structured_measurements.append((timestamp, voltage, current, resistance)) + structured_measurements.append( + (timestamp, voltage, current, resistance)) phase = [ { @@ -43,7 +45,8 @@ def main(): procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, - run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + run_passed=all( + phase["outcome"] == PhaseOutcome.PASS for phase in phases), ) diff --git a/docs_tofupilot/measurements/dimensional/openhtf/main.py b/docs_tofupilot/measurements/dimensional/openhtf/main.py index 5ffa975..9aba21c 100644 --- a/docs_tofupilot/measurements/dimensional/openhtf/main.py +++ b/docs_tofupilot/measurements/dimensional/openhtf/main.py @@ -1,7 +1,8 @@ +import random + import openhtf as htf from openhtf.util import units from tofupilot.openhtf import TofuPilot -import random @htf.measures( diff --git a/docs_tofupilot/measurements/multi-measurements/client/main.py b/docs_tofupilot/measurements/multi-measurements/client/main.py index 6bfe457..3c02735 100644 --- a/docs_tofupilot/measurements/multi-measurements/client/main.py +++ b/docs_tofupilot/measurements/multi-measurements/client/main.py @@ -1,6 +1,7 @@ import random from datetime import datetime -from tofupilot import TofuPilotClient, PhaseOutcome, MeasurementOutcome + +from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient client = TofuPilotClient() diff --git a/docs_tofupilot/measurements/multi-measurements/openhtf/main.py b/docs_tofupilot/measurements/multi-measurements/openhtf/main.py index 5f80a90..f8f34ba 100644 --- a/docs_tofupilot/measurements/multi-measurements/openhtf/main.py +++ b/docs_tofupilot/measurements/multi-measurements/openhtf/main.py @@ -1,14 +1,16 @@ +import random + import openhtf as htf from openhtf.util import units from tofupilot.openhtf import TofuPilot -import random @htf.measures( htf.Measurement("is_connected").equals(True), # Boolean measure htf.Measurement("firmware_version").equals("1.2.7"), # String measure htf.Measurement("input_voltage").in_range(3.2, 3.4).with_units(units.VOLT), - htf.Measurement("input_current").in_range(maximum=1.5).with_units(units.AMPERE), + htf.Measurement("input_current").in_range( + maximum=1.5).with_units(units.AMPERE), ) def phase_multi_measurements(test): test.measurements.is_connected = True diff --git a/docs_tofupilot/measurements/numerical/client/main.py b/docs_tofupilot/measurements/numerical/client/main.py index 3aabd05..4d0813a 100644 --- a/docs_tofupilot/measurements/numerical/client/main.py +++ b/docs_tofupilot/measurements/numerical/client/main.py @@ -1,4 +1,5 @@ from datetime import datetime + from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient client = TofuPilotClient() @@ -36,7 +37,8 @@ def main(): procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, - run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + run_passed=all( + phase["outcome"] == PhaseOutcome.PASS for phase in phases), ) diff --git a/docs_tofupilot/measurements/string/client/main.py b/docs_tofupilot/measurements/string/client/main.py index 6bb993b..2d83e8b 100644 --- a/docs_tofupilot/measurements/string/client/main.py +++ b/docs_tofupilot/measurements/string/client/main.py @@ -1,4 +1,5 @@ from datetime import datetime + from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient client = TofuPilotClient() @@ -33,7 +34,8 @@ def main(): procedure_id="FVT1", # Create the procedure first in the Application unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, - run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + run_passed=all( + phase["outcome"] == PhaseOutcome.PASS for phase in phases), ) diff --git a/docs_tofupilot/phases/advanced/openhtf/main.py b/docs_tofupilot/phases/advanced/openhtf/main.py index 99dcfd5..f8ecced 100644 --- a/docs_tofupilot/phases/advanced/openhtf/main.py +++ b/docs_tofupilot/phases/advanced/openhtf/main.py @@ -16,9 +16,11 @@ def phase_firmware_version_check(test): # Phase with multiple measurements @htf.measures( - htf.Measurement("input_voltage").in_range(3.1, 3.5).with_units(units.VOLT), - htf.Measurement("output_voltage").in_range(1.1, 1.3).with_units(units.VOLT), -) + htf.Measurement("input_voltage").in_range( + 3.1, 3.5).with_units( + units.VOLT), htf.Measurement("output_voltage").in_range( + 1.1, 1.3).with_units( + units.VOLT), ) def phase_voltage_measurements(test): test.measurements.input_voltage = 3.3 test.measurements.output_voltage = 1.2 diff --git a/docs_tofupilot/phases/optional/client/main.py b/docs_tofupilot/phases/optional/client/main.py index e6338a7..ed4bba3 100644 --- a/docs_tofupilot/phases/optional/client/main.py +++ b/docs_tofupilot/phases/optional/client/main.py @@ -36,9 +36,7 @@ def main(): client.create_run( procedure_id="FVT1", # Create the procedure first in the Application - unit_under_test={ - "serial_number": "PCB1A001", - "part_number": "PCB1"}, + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, run_passed=all( phase["outcome"] == PhaseOutcome.PASS for phase in phases), diff --git a/docs_tofupilot/phases/required/client/main.py b/docs_tofupilot/phases/required/client/main.py index cde1da4..f467f33 100644 --- a/docs_tofupilot/phases/required/client/main.py +++ b/docs_tofupilot/phases/required/client/main.py @@ -22,9 +22,7 @@ def main(): client.create_run( procedure_id="FVT1", # Create the procedure first in the Application - unit_under_test={ - "serial_number": "PCB1A001", - "part_number": "PCB1"}, + unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, phases=phases, run_passed=all( phase["outcome"] == PhaseOutcome.PASS for phase in phases), diff --git a/docs_tofupilot/procedures/client/main.py b/docs_tofupilot/procedures/client/main.py index 61d9a9f..37ef2a5 100644 --- a/docs_tofupilot/procedures/client/main.py +++ b/docs_tofupilot/procedures/client/main.py @@ -1,4 +1,5 @@ from datetime import timedelta + from tofupilot import TofuPilotClient diff --git a/docs_tofupilot/stations/client/main.py b/docs_tofupilot/stations/client/main.py index c4c6d9f..f22adcb 100644 --- a/docs_tofupilot/stations/client/main.py +++ b/docs_tofupilot/stations/client/main.py @@ -1,10 +1,12 @@ # Before running the script, ensure you have created a station in the TofuPilot interface # and linked it to the specified procedure ID ("FVT1" in this example). # You also need to save your API key in an environment variable named "STATION_API_KEY" -# or pass it directly as an argument like this: TofuPilotClient(api_key="STATION_API_KEY") +# or pass it directly as an argument like this: +# TofuPilotClient(api_key="STATION_API_KEY") -from datetime import timedelta, datetime -from tofupilot import TofuPilotClient, PhaseOutcome +from datetime import datetime, timedelta + +from tofupilot import PhaseOutcome, TofuPilotClient def phase_one(): @@ -26,7 +28,8 @@ def main(): client.create_run( procedure_id="FVT1", # Create a station in TofuPilot linked to this procedure ID - run_passed=all(phase["outcome"] == PhaseOutcome.PASS for phase in phases), + run_passed=all( + phase["outcome"] == PhaseOutcome.PASS for phase in phases), unit_under_test={"serial_number": "PCB1A001", "part_number": "PCBA01"}, phases=phases, duration=timedelta(minutes=1, seconds=45), diff --git a/docs_tofupilot/stations/openhtf/main.py b/docs_tofupilot/stations/openhtf/main.py index 530101d..010ebca 100644 --- a/docs_tofupilot/stations/openhtf/main.py +++ b/docs_tofupilot/stations/openhtf/main.py @@ -1,7 +1,8 @@ # Before running the script, ensure you have created a station in the TofuPilot interface # and linked it to the specified procedure ID ("FVT1" in this example). # You also need to save your API key in an environment variable named "STATION_API_KEY" -# or pass it directly as an argument like this: TofuPilot(test, api_key="STATION_API_KEY") +# or pass it directly as an argument like this: TofuPilot(test, +# api_key="STATION_API_KEY") import openhtf as htf diff --git a/docs_tofupilot/sub-units/client/main.py b/docs_tofupilot/sub-units/client/main.py index 3ea816a..a4ce1d9 100644 --- a/docs_tofupilot/sub-units/client/main.py +++ b/docs_tofupilot/sub-units/client/main.py @@ -12,7 +12,8 @@ def main(): procedure_id="FVT2", # Create the procedure first in the Application unit_under_test={"serial_number": "CAM1A001", "part_number": "CAM1"}, run_passed=True, - sub_units=[{"serial_number": "PCB1A001"}, {"serial_number": "LEN1A001"}], + sub_units=[{"serial_number": "PCB1A001"}, + {"serial_number": "LEN1A001"}], ) diff --git a/docs_tofupilot/sub-units/openhtf/main.py b/docs_tofupilot/sub-units/openhtf/main.py index 8bddfce..ba37a40 100644 --- a/docs_tofupilot/sub-units/openhtf/main.py +++ b/docs_tofupilot/sub-units/openhtf/main.py @@ -10,7 +10,8 @@ def main(): test = Test( procedure_id="FVT2", # Create the procedure first in the Application part_number="CAM1", - sub_units=[{"serial_number": "PCB1A001"}, {"serial_number": "LEN1A001"}], + sub_units=[{"serial_number": "PCB1A001"}, + {"serial_number": "LEN1A001"}], ) with TofuPilot(test): test.execute(lambda: "CAM1A001") diff --git a/qa/client/create_run/basic/main.py b/qa/client/create_run/basic/main.py index 21c96b7..84fb1bb 100644 --- a/qa/client/create_run/basic/main.py +++ b/qa/client/create_run/basic/main.py @@ -8,9 +8,10 @@ https://tofupilot.com/docs/user-management#api-key """ -from tofupilot import TofuPilotClient import random +from tofupilot import TofuPilotClient + def main(): # Initialize the TofuPilot client. @@ -21,7 +22,9 @@ def main(): serial_number = f"00220D4K{random_digits}" client.create_run( procedure_id="FVT1", - unit_under_test={"serial_number": serial_number, "part_number": "PCB01"}, + unit_under_test={ + "serial_number": serial_number, + "part_number": "PCB01"}, run_passed=True, ) diff --git a/qa/client/create_run/phases_string_outcome/main.py b/qa/client/create_run/phases_string_outcome/main.py index d900ed7..ab964c9 100644 --- a/qa/client/create_run/phases_string_outcome/main.py +++ b/qa/client/create_run/phases_string_outcome/main.py @@ -1,5 +1,6 @@ import random import time + from tofupilot import TofuPilotClient client = TofuPilotClient() diff --git a/qa/client/create_run/procedure_version/main.py b/qa/client/create_run/procedure_version/main.py index d4e7bec..9d4ab6e 100644 --- a/qa/client/create_run/procedure_version/main.py +++ b/qa/client/create_run/procedure_version/main.py @@ -1,6 +1,7 @@ import random import time from datetime import datetime, timedelta + from tofupilot import TofuPilotClient diff --git a/qa/client/create_run/started_at/main.py b/qa/client/create_run/started_at/main.py index 22f5fbf..9a8e821 100644 --- a/qa/client/create_run/started_at/main.py +++ b/qa/client/create_run/started_at/main.py @@ -1,7 +1,8 @@ -from tofupilot import TofuPilotClient import random from datetime import datetime, timedelta +from tofupilot import TofuPilotClient + def main(): # Initialize the TofuPilot client. @@ -12,10 +13,15 @@ def main(): serial_number = f"00220D4K{random_digits}" client.create_run( procedure_id="FVT1", - unit_under_test={"serial_number": serial_number, "part_number": "PCB01"}, + unit_under_test={ + "serial_number": serial_number, + "part_number": "PCB01"}, run_passed=True, - started_at=datetime.now() - timedelta(days=1), - duration=timedelta(seconds=23), + started_at=datetime.now() - + timedelta( + days=1), + duration=timedelta( + seconds=23), ) diff --git a/qa/openhtf/generic/main.py b/qa/openhtf/generic/main.py index a71a2de..d932c0e 100644 --- a/qa/openhtf/generic/main.py +++ b/qa/openhtf/generic/main.py @@ -1,6 +1,7 @@ import random import time from datetime import datetime, timedelta + import openhtf as htf from openhtf.util import units from tofupilot.openhtf import TofuPilot @@ -17,7 +18,8 @@ def check_button(test): time.sleep(1) -@htf.measures(htf.Measurement("input_voltage").in_range(4.5, 5).with_units(units.VOLT)) +@htf.measures(htf.Measurement("input_voltage").in_range(4.5, + 5).with_units(units.VOLT)) def test_voltage_input(test): test.measurements.input_voltage = round(random.uniform(3.7, 4.9), 2) @@ -35,7 +37,8 @@ def test_voltage_output(test): .with_units(units.AMPERE) ) def test_overcurrent_protection(test): - test.measurements.current_protection_triggered = round(random.uniform(1.0, 1.7), 3) + test.measurements.current_protection_triggered = round( + random.uniform(1.0, 1.7), 3) time.sleep(1) @@ -52,7 +55,8 @@ def test_battery_switch(): def test_converter_efficiency(test): input_power = 500 output_power = round(random.uniform(425, 480)) - test.measurements.efficiency = round(((output_power / input_power) * 100), 1) + test.measurements.efficiency = round( + ((output_power / input_power) * 100), 1) time.sleep(1) diff --git a/qa/openhtf/logger/main.py b/qa/openhtf/logger/main.py index aacdfd0..cc6c53f 100644 --- a/qa/openhtf/logger/main.py +++ b/qa/openhtf/logger/main.py @@ -1,7 +1,8 @@ +import random + import openhtf as htf -from tofupilot.openhtf import TofuPilot from openhtf.output.callbacks import json_factory -import random +from tofupilot.openhtf import TofuPilot @htf.measures(htf.Measurement("button_status").equals(True)) @@ -40,7 +41,9 @@ def main(): random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) serial_number = f"00220D4K{random_digits}" - test.add_output_callbacks(json_factory.OutputToJSON("test_result.json", indent=2)) + test.add_output_callbacks( + json_factory.OutputToJSON( + "test_result.json", indent=2)) # Execute the test with TofuPilot(test): diff --git a/qa/openhtf/multi_dimensions/main.py b/qa/openhtf/multi_dimensions/main.py index caff6ce..5f2cfdd 100644 --- a/qa/openhtf/multi_dimensions/main.py +++ b/qa/openhtf/multi_dimensions/main.py @@ -1,10 +1,11 @@ -import openhtf as htf -from openhtf.util import units -from tofupilot.openhtf import TofuPilot -from openhtf.output.callbacks import json_factory import random import time + import numpy as np +import openhtf as htf +from openhtf.output.callbacks import json_factory +from openhtf.util import units +from tofupilot.openhtf import TofuPilot @htf.measures( @@ -65,7 +66,8 @@ def power_phase(test): voltage = round(random.uniform(3.3, 3.5), 2) current = round(random.uniform(0.3, 0.8), 3) resistance = voltage / current - test.measurements.current_and_voltage_over_time[timestamp, voltage] = current + test.measurements.current_and_voltage_over_time[timestamp, + voltage] = current test.measurements.current_voltage_resistence_over_time[ timestamp, voltage, current ] = resistance @@ -84,7 +86,9 @@ def main(): random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) serial_number = f"00220D4K{random_digits}" - test.add_output_callbacks(json_factory.OutputToJSON("test_result.json", indent=2)) + test.add_output_callbacks( + json_factory.OutputToJSON( + "test_result.json", indent=2)) start = time.time() # Execute the test diff --git a/qa/openhtf/multi_measurements/main.py b/qa/openhtf/multi_measurements/main.py index 0e9bd41..7157e23 100644 --- a/qa/openhtf/multi_measurements/main.py +++ b/qa/openhtf/multi_measurements/main.py @@ -1,7 +1,8 @@ +import random + import openhtf as htf from openhtf.util import units from tofupilot.openhtf import TofuPilot -import random @htf.measures( @@ -23,23 +24,27 @@ def phaseresult_test(): @htf.measures( - htf.Measurement("two_limits").in_range(4.5, 5).with_units(units.VOLT), - htf.Measurement("one_limit").in_range(maximum=1.5).with_units(units.AMPERE), - htf.Measurement("percentage").in_range(85, 98).with_units(units.Unit("%")), -) + htf.Measurement("two_limits").in_range( + 4.5, 5).with_units( + units.VOLT), htf.Measurement("one_limit").in_range( + maximum=1.5).with_units( + units.AMPERE), htf.Measurement("percentage").in_range( + 85, 98).with_units( + units.Unit("%")), ) def measure_test_with_limits(test): test.measurements.two_limits = round(random.uniform(3.8, 4.9), 2) test.measurements.one_limit = round(random.uniform(1.0, 1.6), 3) input_power = 500 output_power = round(random.uniform(425, 480)) - test.measurements.percentage = round(((output_power / input_power) * 100), 1) + test.measurements.percentage = round( + ((output_power / input_power) * 100), 1) -@htf.measures( - htf.Measurement("is_connected").equals(True), - htf.Measurement("firmware_version").equals("1.2.7"), - htf.Measurement("temperature").in_range(20, 25).with_units(units.DEGREE_CELSIUS), -) +@htf.measures(htf.Measurement("is_connected").equals(True), + htf.Measurement("firmware_version").equals("1.2.7"), + htf.Measurement("temperature").in_range(20, + 25).with_units(units.DEGREE_CELSIUS), + ) def phase_multi_measurements(test): test.measurements.is_connected = True test.measurements.firmware_version = ( @@ -60,7 +65,14 @@ def dimensions(test): """Phase with dimensioned measurements.""" for dim in range(5): test.measurements.dimensions[dim] = 1 << dim - for x, y, z in zip(list(range(1, 5)), list(range(21, 25)), list(range(101, 105))): + for x, y, z in zip( + list( + range( + 1, 5)), list( + range( + 21, 25)), list( + range( + 101, 105))): test.measurements.lots_of_dims[x, y, z] = x + y + z diff --git a/qa/openhtf/procedure_version/main.py b/qa/openhtf/procedure_version/main.py index e215db2..7157b78 100644 --- a/qa/openhtf/procedure_version/main.py +++ b/qa/openhtf/procedure_version/main.py @@ -1,4 +1,5 @@ import random + import openhtf as htf from tofupilot.openhtf import TofuPilot diff --git a/qa/openhtf/regex_serial_number/main.py b/qa/openhtf/regex_serial_number/main.py index 971a9ba..f7344b4 100644 --- a/qa/openhtf/regex_serial_number/main.py +++ b/qa/openhtf/regex_serial_number/main.py @@ -1,4 +1,5 @@ import random + import openhtf as htf from tofupilot.openhtf import TofuPilot From 493b5ca16e98bfe4e666aa97fe51860d6639899f Mon Sep 17 00:00:00 2001 From: Julien Buteau Date: Mon, 5 May 2025 21:50:04 +0200 Subject: [PATCH 13/23] Improves comments in timestamp implementation --- docs_tofupilot/logger/client/main.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/logger/client/main.py index 595755e..83e92f9 100644 --- a/docs_tofupilot/logger/client/main.py +++ b/docs_tofupilot/logger/client/main.py @@ -13,11 +13,10 @@ def __init__(self): self.logs = [] def emit(self, record): - # Format log with ISO-8601 timestamp (millisecond precision) for - # TofuPilot API + # Format log with ISO-8601 timestamp (UTC, ms) for TofuPilot API log_entry = { "level": record.levelname, - "timestamp": f"{datetime.fromtimestamp(record.created).isoformat(timespec='milliseconds')}Z", + "timestamp": datetime.utcfromtimestamp(record.created).isoformat(timespec="milliseconds") + "Z", "message": record.getMessage(), "source_file": record.filename, "line_number": record.lineno, From 332f680d48ece5e5616cddc45d45488a76585fe2 Mon Sep 17 00:00:00 2001 From: upview Date: Mon, 5 May 2025 19:50:22 +0000 Subject: [PATCH 14/23] Auto code format --- docs_tofupilot/logger/client/main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/logger/client/main.py index 83e92f9..0c3f33f 100644 --- a/docs_tofupilot/logger/client/main.py +++ b/docs_tofupilot/logger/client/main.py @@ -16,7 +16,10 @@ def emit(self, record): # Format log with ISO-8601 timestamp (UTC, ms) for TofuPilot API log_entry = { "level": record.levelname, - "timestamp": datetime.utcfromtimestamp(record.created).isoformat(timespec="milliseconds") + "Z", + "timestamp": datetime.utcfromtimestamp(record.created).isoformat( + timespec="milliseconds" + ) + + "Z", "message": record.getMessage(), "source_file": record.filename, "line_number": record.lineno, From 0b8492b1abe0fad0447076bcd591f80fe56e0f03 Mon Sep 17 00:00:00 2001 From: Julien Buteau Date: Tue, 6 May 2025 16:15:21 +0200 Subject: [PATCH 15/23] Improves multi dim examples --- .../measurements/dimensional/client/main.py | 89 +++++++++++-------- .../measurements/dimensional/openhtf/main.py | 9 +- 2 files changed, 57 insertions(+), 41 deletions(-) diff --git a/docs_tofupilot/measurements/dimensional/client/main.py b/docs_tofupilot/measurements/dimensional/client/main.py index 775582e..1a4e394 100644 --- a/docs_tofupilot/measurements/dimensional/client/main.py +++ b/docs_tofupilot/measurements/dimensional/client/main.py @@ -1,4 +1,5 @@ import random +import numpy as np from datetime import datetime from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient @@ -6,49 +7,65 @@ client = TofuPilotClient() -def phase_voltage_measure(): - start_time_millis = datetime.now().timestamp() * 1000 - - structured_measurements = [] +def standard(): + """Python lists approach - one point at a time""" + start = datetime.now().timestamp() * 1000 + measurements = [] + for t in range(100): - timestamp = t / 100 - voltage = round(random.uniform(3.3, 3.5), 2) - current = round(random.uniform(0.3, 0.8), 3) - resistance = voltage / current - structured_measurements.append( - (timestamp, voltage, current, resistance)) - - phase = [ - { - "name": "power_phase", - "outcome": PhaseOutcome.PASS, - "start_time_millis": start_time_millis, - "end_time_millis": start_time_millis + 30 * 1000, - "measurements": [ - { - "name": "current_voltage_resistence_over_time", - "units": ["s", "V", "A", "Ohm"], - "measured_value": structured_measurements, - "outcome": MeasurementOutcome.PASS, - } - ], - } - ] - - return phase + timestamp = t / 100 # Time dimension + voltage = round(random.uniform(3.3, 3.5), 2) # Voltage dimension + current = round(random.uniform(0.3, 0.8), 3) # Current dimension + measurements.append((timestamp, voltage, current, voltage / current)) + return { + "name": "loop_approach", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start, + "end_time_millis": start + 30000, + "measurements": [{ + "name": "current_voltage_resistance_over_time", + "units": ["s", "V", "A", "Ohm"], + "measured_value": measurements, + "outcome": MeasurementOutcome.PASS, + }], + } -def main(): - phases = phase_voltage_measure() +def numpy_way(): + """NumPy approach - all points at once""" + start = datetime.now().timestamp() * 1000 + + # Generate all dimensions simultaneously + timestamps = np.linspace(0, 0.99, 100) + voltages = np.round(np.random.uniform(3.3, 3.5, 100), 2) + currents = np.round(np.random.uniform(0.3, 0.8, 100), 3) + + measurements = [tuple(x) for x in np.column_stack( + (timestamps, voltages, currents, voltages / currents))] + + return { + "name": "vector_approach", + "outcome": PhaseOutcome.PASS, + "start_time_millis": start, + "end_time_millis": start + 30000, + "measurements": [{ + "name": "current_voltage_resistance_over_time", + "units": ["s", "V", "A", "Ohm"], + "measured_value": measurements, + "outcome": MeasurementOutcome.PASS, + }], + } + + +def main(): client.create_run( - procedure_id="FVT1", # Create the procedure first in the Application + procedure_id="FVT1", unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, - phases=phases, - run_passed=all( - phase["outcome"] == PhaseOutcome.PASS for phase in phases), + phases=[standard(), numpy_way()], + run_passed=True, ) if __name__ == "__main__": - main() + main() \ No newline at end of file diff --git a/docs_tofupilot/measurements/dimensional/openhtf/main.py b/docs_tofupilot/measurements/dimensional/openhtf/main.py index 9aba21c..da04136 100644 --- a/docs_tofupilot/measurements/dimensional/openhtf/main.py +++ b/docs_tofupilot/measurements/dimensional/openhtf/main.py @@ -6,9 +6,9 @@ @htf.measures( - htf.Measurement("current_voltage_resistence_over_time") - .with_dimensions(units.SECOND, units.VOLT, units.AMPERE) - .with_units(units.OHM), + htf.Measurement("current_voltage_resistance_over_time") + .with_dimensions(units.SECOND, units.VOLT, units.AMPERE) # Input axes: time, voltage, current + .with_units(units.OHM) # Output unit: resistance in ohms ) def power_phase(test): for t in range(100): @@ -16,7 +16,7 @@ def power_phase(test): voltage = round(random.uniform(3.3, 3.5), 2) current = round(random.uniform(0.3, 0.8), 3) resistance = voltage / current - test.measurements.current_voltage_resistence_over_time[ + test.measurements.current_voltage_resistance_over_time[ timestamp, voltage, current ] = resistance @@ -28,7 +28,6 @@ def main(): part_number="PCB01", ) - # Execute the test with TofuPilot(test): test.execute(lambda: "PCB1A003") From 44add38dccc178ccbcfdacb915fdc8394b5e86db Mon Sep 17 00:00:00 2001 From: upview Date: Tue, 6 May 2025 14:15:54 +0000 Subject: [PATCH 16/23] Auto code format --- .../measurements/dimensional/client/main.py | 44 +++++++++++-------- .../measurements/dimensional/openhtf/main.py | 4 +- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/docs_tofupilot/measurements/dimensional/client/main.py b/docs_tofupilot/measurements/dimensional/client/main.py index 1a4e394..2953753 100644 --- a/docs_tofupilot/measurements/dimensional/client/main.py +++ b/docs_tofupilot/measurements/dimensional/client/main.py @@ -1,7 +1,7 @@ import random -import numpy as np from datetime import datetime +import numpy as np from tofupilot import MeasurementOutcome, PhaseOutcome, TofuPilotClient client = TofuPilotClient() @@ -11,7 +11,7 @@ def standard(): """Python lists approach - one point at a time""" start = datetime.now().timestamp() * 1000 measurements = [] - + for t in range(100): timestamp = t / 100 # Time dimension voltage = round(random.uniform(3.3, 3.5), 2) # Voltage dimension @@ -23,38 +23,44 @@ def standard(): "outcome": PhaseOutcome.PASS, "start_time_millis": start, "end_time_millis": start + 30000, - "measurements": [{ - "name": "current_voltage_resistance_over_time", - "units": ["s", "V", "A", "Ohm"], - "measured_value": measurements, - "outcome": MeasurementOutcome.PASS, - }], + "measurements": [ + { + "name": "current_voltage_resistance_over_time", + "units": ["s", "V", "A", "Ohm"], + "measured_value": measurements, + "outcome": MeasurementOutcome.PASS, + } + ], } def numpy_way(): """NumPy approach - all points at once""" start = datetime.now().timestamp() * 1000 - + # Generate all dimensions simultaneously timestamps = np.linspace(0, 0.99, 100) voltages = np.round(np.random.uniform(3.3, 3.5, 100), 2) currents = np.round(np.random.uniform(0.3, 0.8, 100), 3) - - measurements = [tuple(x) for x in np.column_stack( - (timestamps, voltages, currents, voltages / currents))] + + measurements = [ + tuple(x) + for x in np.column_stack((timestamps, voltages, currents, voltages / currents)) + ] return { "name": "vector_approach", "outcome": PhaseOutcome.PASS, "start_time_millis": start, "end_time_millis": start + 30000, - "measurements": [{ - "name": "current_voltage_resistance_over_time", - "units": ["s", "V", "A", "Ohm"], - "measured_value": measurements, - "outcome": MeasurementOutcome.PASS, - }], + "measurements": [ + { + "name": "current_voltage_resistance_over_time", + "units": ["s", "V", "A", "Ohm"], + "measured_value": measurements, + "outcome": MeasurementOutcome.PASS, + } + ], } @@ -68,4 +74,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/docs_tofupilot/measurements/dimensional/openhtf/main.py b/docs_tofupilot/measurements/dimensional/openhtf/main.py index da04136..9d52d7a 100644 --- a/docs_tofupilot/measurements/dimensional/openhtf/main.py +++ b/docs_tofupilot/measurements/dimensional/openhtf/main.py @@ -7,7 +7,9 @@ @htf.measures( htf.Measurement("current_voltage_resistance_over_time") - .with_dimensions(units.SECOND, units.VOLT, units.AMPERE) # Input axes: time, voltage, current + .with_dimensions( + units.SECOND, units.VOLT, units.AMPERE + ) # Input axes: time, voltage, current .with_units(units.OHM) # Output unit: resistance in ohms ) def power_phase(test): From 341ca2b6bec302667019830eb499faa7a30ac9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Tue, 27 May 2025 16:03:51 +0200 Subject: [PATCH 17/23] Update get_runs() examples with attachments or saving in a json --- .../get_runs/basic/data/temperature-map.png | Bin 0 -> 123264 bytes qa/client/get_runs/basic/main.py | 12 +++++- .../with_attachments/data/temperature-map.png | Bin 0 -> 123264 bytes qa/client/get_runs/with_attachments/main.py | 37 ++++++++++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 qa/client/get_runs/basic/data/temperature-map.png create mode 100644 qa/client/get_runs/with_attachments/data/temperature-map.png create mode 100644 qa/client/get_runs/with_attachments/main.py diff --git a/qa/client/get_runs/basic/data/temperature-map.png b/qa/client/get_runs/basic/data/temperature-map.png new file mode 100644 index 0000000000000000000000000000000000000000..c7eb24b120b34ee7424a40d7cd425dee944a2b01 GIT binary patch literal 123264 zcmX_HWmp_N*Iv9paV_q!K#LcOYjIn&P@H1L-QC@a6n7Si7uVu0#ofKg;yy3W_v4%E znlqD3Cds+anaG_?go=_h1{w((2n52Am63#iKnSlVT-O_f*O;6ksQT*#(OgVX3fn00bI(d9A7< zFblANVqSyGpltvM0|9Ixz!n4w1;l`kGT;k3Z~+hb_26BH2s=pBfOhJ2ldw>}T z)D8f7AfO-g9Y|jRfdD59~cw}g8KoQe@GwU>?r_& zBmvMIpa0g8+FD;PZ;{HN1gC!x~dk5ngIDEyxl8%0RsjA3^3Y1&{Zj1^}o5 zaT$ED_QJL<;*&vjNlHYvviz>1PxZs$6_1sZZjg`+Hs9{A%d2}T zY6?Miy78`8FG0**=67h6>L0iUULjAqd=;R8D_aXhi9#a~npgCh=?8zKG{8xBC*sqe zuuvL!_&+loX#jF~xUC8ZUPvV!n45h)9v{0Oo?Z9sjCzejfS?bqGF@SyiHV7kk=f5N zQXnzc!osE0)Kp*b({S?H*&UdzU>36gdsj=&K(h?&(FQ+q|cy zsqO}HR{(R6)W2(25X03t614Usa1AP31$EyhD#L+dDz&w{%gS#DfHi@;(^CzQ`Zll! zKo=JmDH{RT+vDC1GHq?M=P1zg7^u3s`ce{(er2Q^1fl}TN{Xqw!~J_kpVavFb3Y<5 zkPu!epcIike6Vj$Y$-uZH8cuwh+aXgEB&)dp(R!-ToI-MCf7_jDjl}Ir;g-jLmAw^ z3axP#4e??5O>ZLJCJ0e6;>jIm3L>W2AR-`1kxr5CnO@gSoZSkZEv<(gu9;~-)y*D# zA9cT<)X#UE!(MIykC%yEo2jj1*dsth48W8{zCWE;@QU33x{Mk3IcB;4-ZphWJLB%@_pW_{#IECdE+faKW2#xXBhhc9k<=%cKkoUUqVY%& zqSSf&!~3dgeMcmsv+FL-?`AsZ<>qAB@MyWyr)4v}YOh>B#p;ej`1wG&^Z7(s`2J>s zM0j6!8%VmFczK}oxPO7)?!0bqT=P6T+ZH4Rc%N0ab)T*tMZQnneTkv8fnDD{u${XB z=-$WwB|0|uyPd!HI!80d4J>jO@6qwz8dm5jC-=L>o0L+hS__9%0tj+s) z`T8Z@AP0C=QR4;ar9WV{>Z0el^6a|eRtD+*7}j~bYhZADZLl%&h#s$eTgP@b+gYYX zahY|Nu79o3zB+$)d2NvUVzBY(N363ru>Lvk?zl>-^8uJL5V;_DM(Xc0LhHM$I#})K zZTyqrc`4wBjT68Ii@Um(_ak^U@5{rhLRVquCofr)zGug#msQ67-p>>{mqhFyH)HFU zqd{?<7-?%>XH}g_au1onzbeWXxfghbiI;O0j}o>M#g1o+?q1SYh)}5YeJ%ZpstoSR zA6{+s`06uzXKvyTjGFQ>z}$S^T9wtf_p@*e0KXnu+%bQb*ts6p0UNrl`8v>}`fALf z`Tq6wGvF6MC%oF&ak*yz{JXs~;O~I`-cI6Oe^{F@TR(#VyOhJyz>U{B(4O+tp;4al zK=|?BeC;~raNCp6i`#3lo%4Ht-KjK6hcJ28-vM4v2C!>spyv)f`hG4oUg(j&&9uGq zMtS|Qur0%7*kD?{y>ohgzw_bMb$NyFkJ*@#wpb+9qjG#NPP|)TcJV*1=G;0SL{{d{ z?z~=z+_#lqf_0y2AI1A$Ro+h$@#w*gIP<2ix@Gj^+$%?zz2jxpvVXemyewEh?z+C? zc$4ZkAx(beeLNuYa)93cBh`thDkG!VEBoaaj#h7-@8ji6M)H}+c^5+5>iLmLoY1SN z5*?L6Yc9LP$1tS}9t8;J*(@5ie;47A)yr;WX{faJ~-%MwFj zw^7pd#$)R?x6I3g3vGSXtfn1P;j3H2#|pp4Tc4*U+w-#mhb$2?ZrjNPvF(1PmT%VP zye5o_Eg=rmiYvA)yD71}E6&px>ozpj1HZ63Rr+s&+dx+=}}_MC@K-|bm1ficps^ywwefg=D=bb-PV8*k+buWJ+A&v zppWgv=cW4b7B+I~guIR(_VR4-^5_So0=&z>BirKTcEcfWobRKHdllzP;acOOIZ)71 zT_^HVJ&lH(q2w_MjuUW!;WK_3b0DiZ{tHDn!I#czi8f9R``5-!5%vAE%VwTZR_HAm zg_cv*bgB1D$w0k>v3dysjKqP5Xs7(V@F>e;yR)>TUHI9K0#My|$Qs~4#(I_6Uyn3pL zV%Dk;rlty{MUI$Sr78VR9r~RnFw6u;57ycr-+aCu3&W&X@}@Oec*9Gg}5ISq0hJWJ2?( z5S+$&�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

y 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 JgPL9R{{R+5KQjOT literal 0 HcmV?d00001 diff --git a/qa/client/get_runs/basic/main.py b/qa/client/get_runs/basic/main.py index 6480b75..ba6e286 100644 --- a/qa/client/get_runs/basic/main.py +++ b/qa/client/get_runs/basic/main.py @@ -9,12 +9,13 @@ """ from tofupilot import TofuPilotClient +import json # Initialize the TofuPilot client client = TofuPilotClient() # Define the serial number of the unit under test -serial_number = "SN00102" +serial_number = "SN00106" client.create_run( procedure_id="FVT1", @@ -23,4 +24,11 @@ ) # Fetch the created run using the serial number -client.get_runs(serial_number=serial_number) +response = client.get_runs(serial_number=serial_number) + + +# Save JSON response locally +with open("response_saved.json", "w") as f: + json.dump(response, f, indent=2) + +print("Response saved to response_saved.json") diff --git a/qa/client/get_runs/with_attachments/data/temperature-map.png b/qa/client/get_runs/with_attachments/data/temperature-map.png new file mode 100644 index 0000000000000000000000000000000000000000..c7eb24b120b34ee7424a40d7cd425dee944a2b01 GIT binary patch literal 123264 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�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

y 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 JgPL9R{{R+5KQjOT literal 0 HcmV?d00001 diff --git a/qa/client/get_runs/with_attachments/main.py b/qa/client/get_runs/with_attachments/main.py new file mode 100644 index 0000000..516b176 --- /dev/null +++ b/qa/client/get_runs/with_attachments/main.py @@ -0,0 +1,37 @@ +from tofupilot import TofuPilotClient +import requests +from pathlib import Path + + +def main(): + # First create a run + client = TofuPilotClient() + + serial_number = "SN00106" + + client.create_run( + procedure_id="FVT1", + unit_under_test={"serial_number": serial_number, "part_number": "PCB01"}, + run_passed=True, + attachments=[ + "qa/client/get_runs/basic/data/temperature-map.png" + ], # Update with your file path + ) + + # Then fetch the created run using the serial number + res = client.get_runs(serial_number=serial_number) + attachments = res["data"][0]["attachments"] + + # Download and save each attachment next to the script + for attachment in attachments: + response = requests.get(attachment["url"]) + response.raise_for_status() + + file_path = Path(__file__).parent / attachment["name"] + + with open(file_path, "wb+") as f: + f.write(response.content) + + +if __name__ == "__main__": + main() From 54bff6b64a8226d7ba5e53f4cb9fd851ed30df70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Mon, 14 Jul 2025 15:54:10 +0200 Subject: [PATCH 18/23] Rename qa directory to testing_examples --- api/index.py | 76 ---- docs_openhtf/attachments/by_path/main.py | 20 - .../with_attachments/data/sample_file.txt | 1 - .../client/create_run/basic/main.py | 0 .../client/create_run/fpy/main.py | 0 .../create_run/multiple_sub_units/main.py | 0 .../create_run/phases_string_outcome/main.py | 0 .../create_run/procedure_version/main.py | 0 .../client/create_run/single_sub_unit/main.py | 0 .../client/create_run/started_at/main.py | 0 .../with_all_types_of_phases/main.py | 0 .../data/performance-report.pdf | Bin .../with_attachments/data/temperature-map.png | Bin .../create_run/with_attachments/main.py | 0 .../client/create_run/with_duration/main.py | 0 .../create_run/with_phases_and_steps/main.py | 0 .../basic/main.py | 0 .../with_attachments/data/oscilloscope.jpeg | Bin .../with_attachments}/data/sample_file.txt | 0 .../with_attachments/main.py | 0 .../client/delete_run/basic/main.py | 0 .../client/delete_unit/basic/main.py | 0 .../get_runs/basic/data/temperature-map.png | Bin .../client/get_runs/basic/main.py | 0 .../with_attachments/data/temperature-map.png | Bin .../client/get_runs/with_attachments/main.py | 0 .../client/legacy/steps/advanced/main.py | 0 .../client/legacy/steps/optional/main.py | 0 .../client/legacy/steps/required/main.py | 0 .../client/update_unit/basic/main.py | 0 .../all_the_things/data/oscilloscope.jpeg | Bin .../openhtf/all_the_things/main.py | 0 .../openhtf/generic/data/oscilloscope.jpeg | Bin .../openhtf/generic/main.py | 0 .../openhtf/logger/main.py | 0 .../openhtf/multi_dimensions/main.py | 0 .../openhtf/multi_measurements/main.py | 0 .../openhtf/procedure_version/main.py | 0 .../openhtf/regex_serial_number/main.py | 0 .../without_streaming/data/oscilloscope.jpeg | Bin .../openhtf/without_streaming/main.py | 0 .../battery_testing/data/pcb_coating.jpeg | Bin 36709 -> 0 bytes welcome_aboard/battery_testing/main.py | 377 ------------------ 43 files changed, 474 deletions(-) delete mode 100644 api/index.py delete mode 100644 docs_openhtf/attachments/by_path/main.py delete mode 100644 qa/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt rename {qa => testing_examples}/client/create_run/basic/main.py (100%) rename {qa => testing_examples}/client/create_run/fpy/main.py (100%) rename {qa => testing_examples}/client/create_run/multiple_sub_units/main.py (100%) rename {qa => testing_examples}/client/create_run/phases_string_outcome/main.py (100%) rename {qa => testing_examples}/client/create_run/procedure_version/main.py (100%) rename {qa => testing_examples}/client/create_run/single_sub_unit/main.py (100%) rename {qa => testing_examples}/client/create_run/started_at/main.py (100%) rename {qa => testing_examples}/client/create_run/with_all_types_of_phases/main.py (100%) rename {qa => testing_examples}/client/create_run/with_attachments/data/performance-report.pdf (100%) rename {qa => testing_examples}/client/create_run/with_attachments/data/temperature-map.png (100%) rename {qa => testing_examples}/client/create_run/with_attachments/main.py (100%) rename {qa => testing_examples}/client/create_run/with_duration/main.py (100%) rename {qa => testing_examples}/client/create_run/with_phases_and_steps/main.py (100%) rename {qa => testing_examples}/client/create_run_from_openhtf_report/basic/main.py (100%) rename {qa => testing_examples}/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg (100%) rename {docs_openhtf/attachments/by_path => testing_examples/client/create_run_from_openhtf_report/with_attachments}/data/sample_file.txt (100%) rename {qa => testing_examples}/client/create_run_from_openhtf_report/with_attachments/main.py (100%) rename {qa => testing_examples}/client/delete_run/basic/main.py (100%) rename {qa => testing_examples}/client/delete_unit/basic/main.py (100%) rename {qa => testing_examples}/client/get_runs/basic/data/temperature-map.png (100%) rename {qa => testing_examples}/client/get_runs/basic/main.py (100%) rename {qa => testing_examples}/client/get_runs/with_attachments/data/temperature-map.png (100%) rename {qa => testing_examples}/client/get_runs/with_attachments/main.py (100%) rename {qa => testing_examples}/client/legacy/steps/advanced/main.py (100%) rename {qa => testing_examples}/client/legacy/steps/optional/main.py (100%) rename {qa => testing_examples}/client/legacy/steps/required/main.py (100%) rename {qa => testing_examples}/client/update_unit/basic/main.py (100%) rename {qa => testing_examples}/openhtf/all_the_things/data/oscilloscope.jpeg (100%) rename {qa => testing_examples}/openhtf/all_the_things/main.py (100%) rename {qa => testing_examples}/openhtf/generic/data/oscilloscope.jpeg (100%) rename {qa => testing_examples}/openhtf/generic/main.py (100%) rename {qa => testing_examples}/openhtf/logger/main.py (100%) rename {qa => testing_examples}/openhtf/multi_dimensions/main.py (100%) rename {qa => testing_examples}/openhtf/multi_measurements/main.py (100%) rename {qa => testing_examples}/openhtf/procedure_version/main.py (100%) rename {qa => testing_examples}/openhtf/regex_serial_number/main.py (100%) rename {qa => testing_examples}/openhtf/without_streaming/data/oscilloscope.jpeg (100%) rename {qa => testing_examples}/openhtf/without_streaming/main.py (100%) delete mode 100644 welcome_aboard/battery_testing/data/pcb_coating.jpeg delete mode 100644 welcome_aboard/battery_testing/main.py diff --git a/api/index.py b/api/index.py deleted file mode 100644 index b5323fd..0000000 --- a/api/index.py +++ /dev/null @@ -1,76 +0,0 @@ -import json -import os -from http.server import BaseHTTPRequestHandler - -import welcome_aboard.openhtf.main as openhtf -import welcome_aboard.vanilla.main as vanilla - - -class Handler(BaseHTTPRequestHandler): - # Setting common CORS headers - def _set_cors_headers(self): - self.send_header("Access-Control-Allow-Origin", "*") - self.send_header("Access-Control-Allow-Methods", "POST, OPTIONS") - self.send_header( - "Access-Control-Allow-Headers", - "Authorization, Content-Type") - - # Sending error response with appropriate CORS headers - def _send_error_response(self, status_code, message): - self.send_response(status_code) - self._set_cors_headers() - self.end_headers() - self.wfile.write(message.encode("utf-8")) - - # Handling preflight requests for CORS - def do_OPTIONS(self): - self.send_response(200) - self._set_cors_headers() - self.end_headers() - - # Handling POST requests - def do_POST(self): - auth_header = self.headers.get("Authorization") - - # Checking if Authorization header is present - if not auth_header: - self._send_error_response(401, "Missing Authorization header") - return - - # Parsing the Authorization header - try: - _, api_key = auth_header.split(" ") - except ValueError: - self._send_error_response( - 400, "Invalid Authorization header format") - return - - # Reading and parsing request body - content_length = int(self.headers.get("Content-Length", 0)) - body = self.rfile.read(content_length).decode("utf-8") - try: - body_data = json.loads(body) if body else {} - except json.JSONDecodeError: - body_data = {} - - url = body_data.get("url", None) - framework = body_data.get("framework", "openhtf") - serial_number = body_data.get("serial_number", None) - - os.environ["TOFUPILOT_URL"] = url - os.environ["TOFUPILOT_API_KEY"] = api_key - - # Calling the appropriate function based on the framework - if framework == "vanilla": - vanilla.main(serial_number) - elif framework == "openhtf": - openhtf.main(serial_number) - - # Sending success response - self.send_response(200) - self.send_header("Content-type", "application/json") - self._set_cors_headers() - self.end_headers() - - response_body = {"message": "Request processed successfully"} - self.wfile.write(json.dumps(response_body).encode("utf-8")) diff --git a/docs_openhtf/attachments/by_path/main.py b/docs_openhtf/attachments/by_path/main.py deleted file mode 100644 index df6d51f..0000000 --- a/docs_openhtf/attachments/by_path/main.py +++ /dev/null @@ -1,20 +0,0 @@ -import openhtf as htf -from tofupilot.openhtf import TofuPilot - - -def phase_file_attachment(test): - test.attach_from_file("data/sample_file.txt") - return htf.PhaseResult.CONTINUE - - -def main(): - test = htf.Test( - phase_file_attachment, - procedure_id="TEST0", - part_number="00389") - with TofuPilot(test): - test.execute(lambda: "PCB0001") - - -if __name__ == "__main__": - main() diff --git a/qa/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt b/qa/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt deleted file mode 100644 index 0089758..0000000 --- a/qa/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt +++ /dev/null @@ -1 +0,0 @@ -OpenHTF + TofuPilot = <3 \ No newline at end of file diff --git a/qa/client/create_run/basic/main.py b/testing_examples/client/create_run/basic/main.py similarity index 100% rename from qa/client/create_run/basic/main.py rename to testing_examples/client/create_run/basic/main.py diff --git a/qa/client/create_run/fpy/main.py b/testing_examples/client/create_run/fpy/main.py similarity index 100% rename from qa/client/create_run/fpy/main.py rename to testing_examples/client/create_run/fpy/main.py diff --git a/qa/client/create_run/multiple_sub_units/main.py b/testing_examples/client/create_run/multiple_sub_units/main.py similarity index 100% rename from qa/client/create_run/multiple_sub_units/main.py rename to testing_examples/client/create_run/multiple_sub_units/main.py diff --git a/qa/client/create_run/phases_string_outcome/main.py b/testing_examples/client/create_run/phases_string_outcome/main.py similarity index 100% rename from qa/client/create_run/phases_string_outcome/main.py rename to testing_examples/client/create_run/phases_string_outcome/main.py diff --git a/qa/client/create_run/procedure_version/main.py b/testing_examples/client/create_run/procedure_version/main.py similarity index 100% rename from qa/client/create_run/procedure_version/main.py rename to testing_examples/client/create_run/procedure_version/main.py diff --git a/qa/client/create_run/single_sub_unit/main.py b/testing_examples/client/create_run/single_sub_unit/main.py similarity index 100% rename from qa/client/create_run/single_sub_unit/main.py rename to testing_examples/client/create_run/single_sub_unit/main.py diff --git a/qa/client/create_run/started_at/main.py b/testing_examples/client/create_run/started_at/main.py similarity index 100% rename from qa/client/create_run/started_at/main.py rename to testing_examples/client/create_run/started_at/main.py diff --git a/qa/client/create_run/with_all_types_of_phases/main.py b/testing_examples/client/create_run/with_all_types_of_phases/main.py similarity index 100% rename from qa/client/create_run/with_all_types_of_phases/main.py rename to testing_examples/client/create_run/with_all_types_of_phases/main.py diff --git a/qa/client/create_run/with_attachments/data/performance-report.pdf b/testing_examples/client/create_run/with_attachments/data/performance-report.pdf similarity index 100% rename from qa/client/create_run/with_attachments/data/performance-report.pdf rename to testing_examples/client/create_run/with_attachments/data/performance-report.pdf diff --git a/qa/client/create_run/with_attachments/data/temperature-map.png b/testing_examples/client/create_run/with_attachments/data/temperature-map.png similarity index 100% rename from qa/client/create_run/with_attachments/data/temperature-map.png rename to testing_examples/client/create_run/with_attachments/data/temperature-map.png diff --git a/qa/client/create_run/with_attachments/main.py b/testing_examples/client/create_run/with_attachments/main.py similarity index 100% rename from qa/client/create_run/with_attachments/main.py rename to testing_examples/client/create_run/with_attachments/main.py diff --git a/qa/client/create_run/with_duration/main.py b/testing_examples/client/create_run/with_duration/main.py similarity index 100% rename from qa/client/create_run/with_duration/main.py rename to testing_examples/client/create_run/with_duration/main.py diff --git a/qa/client/create_run/with_phases_and_steps/main.py b/testing_examples/client/create_run/with_phases_and_steps/main.py similarity index 100% rename from qa/client/create_run/with_phases_and_steps/main.py rename to testing_examples/client/create_run/with_phases_and_steps/main.py diff --git a/qa/client/create_run_from_openhtf_report/basic/main.py b/testing_examples/client/create_run_from_openhtf_report/basic/main.py similarity index 100% rename from qa/client/create_run_from_openhtf_report/basic/main.py rename to testing_examples/client/create_run_from_openhtf_report/basic/main.py diff --git a/qa/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg b/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg similarity index 100% rename from qa/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg rename to testing_examples/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg diff --git a/docs_openhtf/attachments/by_path/data/sample_file.txt b/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt similarity index 100% rename from docs_openhtf/attachments/by_path/data/sample_file.txt rename to testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt diff --git a/qa/client/create_run_from_openhtf_report/with_attachments/main.py b/testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py similarity index 100% rename from qa/client/create_run_from_openhtf_report/with_attachments/main.py rename to testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py diff --git a/qa/client/delete_run/basic/main.py b/testing_examples/client/delete_run/basic/main.py similarity index 100% rename from qa/client/delete_run/basic/main.py rename to testing_examples/client/delete_run/basic/main.py diff --git a/qa/client/delete_unit/basic/main.py b/testing_examples/client/delete_unit/basic/main.py similarity index 100% rename from qa/client/delete_unit/basic/main.py rename to testing_examples/client/delete_unit/basic/main.py diff --git a/qa/client/get_runs/basic/data/temperature-map.png b/testing_examples/client/get_runs/basic/data/temperature-map.png similarity index 100% rename from qa/client/get_runs/basic/data/temperature-map.png rename to testing_examples/client/get_runs/basic/data/temperature-map.png diff --git a/qa/client/get_runs/basic/main.py b/testing_examples/client/get_runs/basic/main.py similarity index 100% rename from qa/client/get_runs/basic/main.py rename to testing_examples/client/get_runs/basic/main.py diff --git a/qa/client/get_runs/with_attachments/data/temperature-map.png b/testing_examples/client/get_runs/with_attachments/data/temperature-map.png similarity index 100% rename from qa/client/get_runs/with_attachments/data/temperature-map.png rename to testing_examples/client/get_runs/with_attachments/data/temperature-map.png diff --git a/qa/client/get_runs/with_attachments/main.py b/testing_examples/client/get_runs/with_attachments/main.py similarity index 100% rename from qa/client/get_runs/with_attachments/main.py rename to testing_examples/client/get_runs/with_attachments/main.py diff --git a/qa/client/legacy/steps/advanced/main.py b/testing_examples/client/legacy/steps/advanced/main.py similarity index 100% rename from qa/client/legacy/steps/advanced/main.py rename to testing_examples/client/legacy/steps/advanced/main.py diff --git a/qa/client/legacy/steps/optional/main.py b/testing_examples/client/legacy/steps/optional/main.py similarity index 100% rename from qa/client/legacy/steps/optional/main.py rename to testing_examples/client/legacy/steps/optional/main.py diff --git a/qa/client/legacy/steps/required/main.py b/testing_examples/client/legacy/steps/required/main.py similarity index 100% rename from qa/client/legacy/steps/required/main.py rename to testing_examples/client/legacy/steps/required/main.py diff --git a/qa/client/update_unit/basic/main.py b/testing_examples/client/update_unit/basic/main.py similarity index 100% rename from qa/client/update_unit/basic/main.py rename to testing_examples/client/update_unit/basic/main.py diff --git a/qa/openhtf/all_the_things/data/oscilloscope.jpeg b/testing_examples/openhtf/all_the_things/data/oscilloscope.jpeg similarity index 100% rename from qa/openhtf/all_the_things/data/oscilloscope.jpeg rename to testing_examples/openhtf/all_the_things/data/oscilloscope.jpeg diff --git a/qa/openhtf/all_the_things/main.py b/testing_examples/openhtf/all_the_things/main.py similarity index 100% rename from qa/openhtf/all_the_things/main.py rename to testing_examples/openhtf/all_the_things/main.py diff --git a/qa/openhtf/generic/data/oscilloscope.jpeg b/testing_examples/openhtf/generic/data/oscilloscope.jpeg similarity index 100% rename from qa/openhtf/generic/data/oscilloscope.jpeg rename to testing_examples/openhtf/generic/data/oscilloscope.jpeg diff --git a/qa/openhtf/generic/main.py b/testing_examples/openhtf/generic/main.py similarity index 100% rename from qa/openhtf/generic/main.py rename to testing_examples/openhtf/generic/main.py diff --git a/qa/openhtf/logger/main.py b/testing_examples/openhtf/logger/main.py similarity index 100% rename from qa/openhtf/logger/main.py rename to testing_examples/openhtf/logger/main.py diff --git a/qa/openhtf/multi_dimensions/main.py b/testing_examples/openhtf/multi_dimensions/main.py similarity index 100% rename from qa/openhtf/multi_dimensions/main.py rename to testing_examples/openhtf/multi_dimensions/main.py diff --git a/qa/openhtf/multi_measurements/main.py b/testing_examples/openhtf/multi_measurements/main.py similarity index 100% rename from qa/openhtf/multi_measurements/main.py rename to testing_examples/openhtf/multi_measurements/main.py diff --git a/qa/openhtf/procedure_version/main.py b/testing_examples/openhtf/procedure_version/main.py similarity index 100% rename from qa/openhtf/procedure_version/main.py rename to testing_examples/openhtf/procedure_version/main.py diff --git a/qa/openhtf/regex_serial_number/main.py b/testing_examples/openhtf/regex_serial_number/main.py similarity index 100% rename from qa/openhtf/regex_serial_number/main.py rename to testing_examples/openhtf/regex_serial_number/main.py diff --git a/qa/openhtf/without_streaming/data/oscilloscope.jpeg b/testing_examples/openhtf/without_streaming/data/oscilloscope.jpeg similarity index 100% rename from qa/openhtf/without_streaming/data/oscilloscope.jpeg rename to testing_examples/openhtf/without_streaming/data/oscilloscope.jpeg diff --git a/qa/openhtf/without_streaming/main.py b/testing_examples/openhtf/without_streaming/main.py similarity index 100% rename from qa/openhtf/without_streaming/main.py rename to testing_examples/openhtf/without_streaming/main.py diff --git a/welcome_aboard/battery_testing/data/pcb_coating.jpeg b/welcome_aboard/battery_testing/data/pcb_coating.jpeg deleted file mode 100644 index 5837497fe43e9b04948b52c6f8e2dcaf55eb2399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36709 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%0D^d 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 Date: Wed, 23 Jul 2025 16:23:54 +0200 Subject: [PATCH 19/23] Add missing procedure_id to testing_examples --- testing_examples/openhtf/all_the_things/main.py | 1 + testing_examples/openhtf/without_streaming/main.py | 1 + 2 files changed, 2 insertions(+) diff --git a/testing_examples/openhtf/all_the_things/main.py b/testing_examples/openhtf/all_the_things/main.py index d79b503..0cefc39 100644 --- a/testing_examples/openhtf/all_the_things/main.py +++ b/testing_examples/openhtf/all_the_things/main.py @@ -158,6 +158,7 @@ def make_test(): test_description="OpenHTF Example Test", test_version="1.0.0", part_number="PCB01", + procedure_id="FVT1", ) diff --git a/testing_examples/openhtf/without_streaming/main.py b/testing_examples/openhtf/without_streaming/main.py index 1ee0488..f89d527 100644 --- a/testing_examples/openhtf/without_streaming/main.py +++ b/testing_examples/openhtf/without_streaming/main.py @@ -158,6 +158,7 @@ def make_test(): test_description="OpenHTF Example Test", test_version="1.0.0", part_number="PCB01", + procedure_id="FVT1", ) From f81e65d848c2d2b2e7b8f973443f7baf22564355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Wed, 6 Aug 2025 15:24:10 +0200 Subject: [PATCH 20/23] Remove old Git Actions and test scripts --- .github/workflows/run-templates.yml | 40 ---- .github/workflows/test-scripts.yml | 74 ------- .../client/create_run/basic/main.py | 33 ---- .../client/create_run/fpy/main.py | 25 --- .../create_run/multiple_sub_units/main.py | 23 --- .../create_run/phases_string_outcome/main.py | 57 ------ .../create_run/procedure_version/main.py | 53 ----- .../client/create_run/single_sub_unit/main.py | 23 --- .../client/create_run/started_at/main.py | 29 --- .../with_all_types_of_phases/main.py | 89 --------- .../data/performance-report.pdf | Bin 1527 -> 0 bytes .../with_attachments/data/temperature-map.png | Bin 123264 -> 0 bytes .../create_run/with_attachments/main.py | 26 --- .../client/create_run/with_duration/main.py | 42 ---- .../create_run/with_phases_and_steps/main.py | 183 ------------------ .../basic/main.py | 36 ---- .../with_attachments/data/oscilloscope.jpeg | Bin 28654 -> 0 bytes .../with_attachments/data/sample_file.txt | 1 - .../with_attachments/main.py | 49 ----- .../client/delete_run/basic/main.py | 13 -- .../client/delete_unit/basic/main.py | 15 -- .../get_runs/basic/data/temperature-map.png | Bin 123264 -> 0 bytes .../client/get_runs/basic/main.py | 34 ---- .../with_attachments/data/temperature-map.png | Bin 123264 -> 0 bytes .../client/get_runs/with_attachments/main.py | 37 ---- .../client/legacy/steps/advanced/main.py | 45 ----- .../client/legacy/steps/optional/main.py | 37 ---- .../client/legacy/steps/required/main.py | 32 --- .../client/update_unit/basic/main.py | 30 --- .../all_the_things/data/oscilloscope.jpeg | Bin 28654 -> 0 bytes .../openhtf/all_the_things/main.py | 183 ------------------ .../openhtf/generic/data/oscilloscope.jpeg | Bin 28654 -> 0 bytes testing_examples/openhtf/generic/main.py | 99 ---------- testing_examples/openhtf/logger/main.py | 54 ------ .../openhtf/multi_dimensions/main.py | 104 ---------- .../openhtf/multi_measurements/main.py | 116 ----------- .../openhtf/procedure_version/main.py | 30 --- .../openhtf/regex_serial_number/main.py | 25 --- .../without_streaming/data/oscilloscope.jpeg | Bin 28654 -> 0 bytes .../openhtf/without_streaming/main.py | 183 ------------------ 40 files changed, 1820 deletions(-) delete mode 100644 .github/workflows/run-templates.yml delete mode 100644 .github/workflows/test-scripts.yml delete mode 100644 testing_examples/client/create_run/basic/main.py delete mode 100644 testing_examples/client/create_run/fpy/main.py delete mode 100644 testing_examples/client/create_run/multiple_sub_units/main.py delete mode 100644 testing_examples/client/create_run/phases_string_outcome/main.py delete mode 100644 testing_examples/client/create_run/procedure_version/main.py delete mode 100644 testing_examples/client/create_run/single_sub_unit/main.py delete mode 100644 testing_examples/client/create_run/started_at/main.py delete mode 100644 testing_examples/client/create_run/with_all_types_of_phases/main.py delete mode 100644 testing_examples/client/create_run/with_attachments/data/performance-report.pdf delete mode 100644 testing_examples/client/create_run/with_attachments/data/temperature-map.png delete mode 100644 testing_examples/client/create_run/with_attachments/main.py delete mode 100644 testing_examples/client/create_run/with_duration/main.py delete mode 100644 testing_examples/client/create_run/with_phases_and_steps/main.py delete mode 100644 testing_examples/client/create_run_from_openhtf_report/basic/main.py delete mode 100644 testing_examples/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg delete mode 100644 testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt delete mode 100644 testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py delete mode 100644 testing_examples/client/delete_run/basic/main.py delete mode 100644 testing_examples/client/delete_unit/basic/main.py delete mode 100644 testing_examples/client/get_runs/basic/data/temperature-map.png delete mode 100644 testing_examples/client/get_runs/basic/main.py delete mode 100644 testing_examples/client/get_runs/with_attachments/data/temperature-map.png delete mode 100644 testing_examples/client/get_runs/with_attachments/main.py delete mode 100644 testing_examples/client/legacy/steps/advanced/main.py delete mode 100644 testing_examples/client/legacy/steps/optional/main.py delete mode 100644 testing_examples/client/legacy/steps/required/main.py delete mode 100644 testing_examples/client/update_unit/basic/main.py delete mode 100644 testing_examples/openhtf/all_the_things/data/oscilloscope.jpeg delete mode 100644 testing_examples/openhtf/all_the_things/main.py delete mode 100644 testing_examples/openhtf/generic/data/oscilloscope.jpeg delete mode 100644 testing_examples/openhtf/generic/main.py delete mode 100644 testing_examples/openhtf/logger/main.py delete mode 100644 testing_examples/openhtf/multi_dimensions/main.py delete mode 100644 testing_examples/openhtf/multi_measurements/main.py delete mode 100644 testing_examples/openhtf/procedure_version/main.py delete mode 100644 testing_examples/openhtf/regex_serial_number/main.py delete mode 100644 testing_examples/openhtf/without_streaming/data/oscilloscope.jpeg delete mode 100644 testing_examples/openhtf/without_streaming/main.py diff --git a/.github/workflows/run-templates.yml b/.github/workflows/run-templates.yml deleted file mode 100644 index e750daa..0000000 --- a/.github/workflows/run-templates.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Run Python Mock-up Data Script - -on: - schedule: - # Run every weekday at 7:00 AM UTC - - cron: "0 7 * * 1-5" - # Run the script from GitHub interface - workflow_dispatch: - -jobs: - execute-python-scripts: - runs-on: ubuntu-latest - - steps: - # Checkout the repository - - name: Checkout code - uses: actions/checkout@v3 - - # Set up Python environment - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - # Install tofupilot package - - name: Install dependencies - run: | - python -m pip install --upgrade pip - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - # Set TOFUPILOT_API_KEY and run all Python files in corresponding folder - - name: Run Battery-Testing Script - env: - TOFUPILOT_API_KEY: ${{ secrets.GET_STARTED_BATTERY_API_KEY }} - run: | - cd welcome_aboard/battery_testing - for i in {1..10}; do - echo "Execution $i" - python main.py - done diff --git a/.github/workflows/test-scripts.yml b/.github/workflows/test-scripts.yml deleted file mode 100644 index d712852..0000000 --- a/.github/workflows/test-scripts.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Run Python Scripts - -on: - push: - branches: - - main - pull_request: - branches: - - main - # Run the script from GitHub interface - workflow_dispatch: - -jobs: - execute-python-scripts: - # Running on both ubuntu and windows - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - runs-on: ${{ matrix.os }} - - env: - TOFUPILOT_API_KEY: ${{ secrets.PRODUCTION_API_KEY}} - # Forcing Python to run in UTF-8 mode for all steps in this job - PYTHONUTF8: "1" - - steps: - # Checking out the repository - - name: Checking out the repository - uses: actions/checkout@v3 - - - name: Changing code page to UTF-8 (Windows only) - if: runner.os == 'Windows' - run: chcp 65001 - - # Setting up Python - - name: Setting up Python - uses: actions/setup-python@v4 - with: - python-version: "3.11" - - # Installing dependencies - - name: Installing dependencies - shell: bash - run: | - if [[ "$RUNNER_OS" == "Windows" ]]; then - python -m pip install --upgrade pip - else - pip install --upgrade pip - fi - - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - # Running all Python scripts - - name: Running all Python scripts - shell: bash - run: | - find . -type f -name 'main.py' \ - -not -path '*/venv/*' \ - -not -path '*/.*/*' \ - -print0 | while IFS= read -r -d '' file; do - - directory="$(dirname "$file")" - - if [ -f "$directory/requirements.txt" ]; then - pip install -r "$directory/requirements.txt" - fi - - echo "Running files in $directory" - - ( - cd "$directory" || exit - python main.py - ) - done diff --git a/testing_examples/client/create_run/basic/main.py b/testing_examples/client/create_run/basic/main.py deleted file mode 100644 index 84fb1bb..0000000 --- a/testing_examples/client/create_run/basic/main.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Basic example showing how to create a test run using the TofuPilotClient. - -This script creates a test run for a unit with the specified serial number and part number, -indicating whether the test passed. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -import random - -from tofupilot import TofuPilotClient - - -def main(): - # Initialize the TofuPilot client. - client = TofuPilotClient() - # Create a test run for the unit with serial number "00102" and part - # number "PCB01" - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220D4K{random_digits}" - client.create_run( - procedure_id="FVT1", - unit_under_test={ - "serial_number": serial_number, - "part_number": "PCB01"}, - run_passed=True, - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/create_run/fpy/main.py b/testing_examples/client/create_run/fpy/main.py deleted file mode 100644 index 2dd951f..0000000 --- a/testing_examples/client/create_run/fpy/main.py +++ /dev/null @@ -1,25 +0,0 @@ -import random -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - -client = TofuPilotClient() - - -def handle_test(): - # Create 2 test for same SN - for testnumber in range(2): - client.create_run( - procedure_id="FVT112", - started_at=datetime.now(), - unit_under_test={ - "part_number": "FPY", - "serial_number": "FPY-0123410", - }, - # First Good, Second KO, to check FPY - run_passed=True if testnumber == 0 else False, - ) - - -if __name__ == "__main__": - handle_test() diff --git a/testing_examples/client/create_run/multiple_sub_units/main.py b/testing_examples/client/create_run/multiple_sub_units/main.py deleted file mode 100644 index 32315d0..0000000 --- a/testing_examples/client/create_run/multiple_sub_units/main.py +++ /dev/null @@ -1,23 +0,0 @@ -""" -Example script demonstrating how to create a test run in TofuPilot with multiple sub-units. - -This script creates a test run for a unit with the specified serial number and part number, -and includes multiple sub-units in the run. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -from tofupilot import TofuPilotClient - -# Initialize the TofuPilot client -client = TofuPilotClient() - -# Create a test run for the unit with serial number "00003" and part number "SI002", -# including sub-units with serial numbers "00002" and "00102" -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00003", "part_number": "SI002"}, - run_passed=True, - sub_units=[{"serial_number": "00002"}, {"serial_number": "00102"}], -) diff --git a/testing_examples/client/create_run/phases_string_outcome/main.py b/testing_examples/client/create_run/phases_string_outcome/main.py deleted file mode 100644 index ab964c9..0000000 --- a/testing_examples/client/create_run/phases_string_outcome/main.py +++ /dev/null @@ -1,57 +0,0 @@ -import random -import time - -from tofupilot import TofuPilotClient - -client = TofuPilotClient() - - -def flash_firmware(): - passed = bool(random.randint(0, 1)) - measured_value = "1.2.4" if passed else "1.2.0" - return passed, measured_value, None, None, None - - -def handle_test(): - serial_number = f"SI0364A{random.randint(10000, 99999)}" - - start_time = int(time.time() * 1000) - passed, measured_value, unit, limit_low, limit_high = flash_firmware() - end_time = int(time.time() * 1000) - - outcome = "PASS" if passed else "FAIL" - - phase = { - "name": "flash_firmware", - "outcome": outcome, - "start_time_millis": start_time, - "end_time_millis": end_time, - "measurements": [ - { - "name": "flash_firmware", - "outcome": outcome, - "measured_value": measured_value, - "units": unit, - "lower_limit": limit_low, - "upper_limit": limit_high, - } - ], - } - - client.create_run( - procedure_id="FVT9", - procedure_name="Test_QA", - unit_under_test={ - "part_number": "SI03645A", - "part_name": "test-QA", - "revision": "3.1", - "batch_number": "11-24", - "serial_number": serial_number, - }, - run_passed=passed, - phases=[phase], - ) - - -if __name__ == "__main__": - handle_test() diff --git a/testing_examples/client/create_run/procedure_version/main.py b/testing_examples/client/create_run/procedure_version/main.py deleted file mode 100644 index 9d4ab6e..0000000 --- a/testing_examples/client/create_run/procedure_version/main.py +++ /dev/null @@ -1,53 +0,0 @@ -import random -import time -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - - -def main(): - client = TofuPilotClient() - - # Generate SN - serial_number = f"SI0364A{random.randint(10000, 99999)}" - - # 1 Phase test - start_time_millis = int(time.time() * 1000) - voltage = round(random.uniform(3, 4), 1) - limits = {"limit_low": 3.1, "limit_high": 3.5} - passed = limits["limit_low"] <= voltage <= limits["limit_high"] - outcome = {True: "PASS", False: "FAIL"}[passed] - end_time_millis = int(time.time() * 1000) - - client.create_run( - unit_under_test={ - "part_number": "SI0364", - "serial_number": serial_number, - "revision": "A", - }, - procedure_id="FVT1", # First create procedure in Application - procedure_version="1.2.20", # Create procedure version - phases=[ - { - "name": "test_voltage", - "outcome": outcome, - "start_time_millis": start_time_millis, - "end_time_millis": end_time_millis, - "measurements": [ - { - "name": "voltage_input", - "outcome": outcome, - "measured_value": voltage, - "units": "V", - "lower_limit": limits["limit_low"], - "upper_limit": limits["limit_high"], - }, - ], - }, - ], - run_passed=passed, - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/create_run/single_sub_unit/main.py b/testing_examples/client/create_run/single_sub_unit/main.py deleted file mode 100644 index 5645c7f..0000000 --- a/testing_examples/client/create_run/single_sub_unit/main.py +++ /dev/null @@ -1,23 +0,0 @@ -""" -Example script demonstrating how to create a test run in TofuPilot with a single sub-unit. - -This script creates a test run for a unit with the specified serial number and part number, -and includes a single sub-unit in the run. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -from tofupilot import TofuPilotClient - -# Initialize the TofuPilot client -client = TofuPilotClient() - -# Create a test run for the unit with serial number "00002" and part number "SI001", -# including a sub-unit with serial number "00102" -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00002", "part_number": "SI001"}, - run_passed=True, - sub_units=[{"serial_number": "00102"}], -) diff --git a/testing_examples/client/create_run/started_at/main.py b/testing_examples/client/create_run/started_at/main.py deleted file mode 100644 index 9a8e821..0000000 --- a/testing_examples/client/create_run/started_at/main.py +++ /dev/null @@ -1,29 +0,0 @@ -import random -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - - -def main(): - # Initialize the TofuPilot client. - client = TofuPilotClient() - # Create a test run for the unit with serial number "00102" and part - # number "PCB01" - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220D4K{random_digits}" - client.create_run( - procedure_id="FVT1", - unit_under_test={ - "serial_number": serial_number, - "part_number": "PCB01"}, - run_passed=True, - started_at=datetime.now() - - timedelta( - days=1), - duration=timedelta( - seconds=23), - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/create_run/with_all_types_of_phases/main.py b/testing_examples/client/create_run/with_all_types_of_phases/main.py deleted file mode 100644 index 7138be7..0000000 --- a/testing_examples/client/create_run/with_all_types_of_phases/main.py +++ /dev/null @@ -1,89 +0,0 @@ -import random -from datetime import datetime, timedelta -from random import randint - -from tofupilot import TofuPilotClient - -# Reference time to calculate start_time_millis in milliseconds since epoch -epoch = datetime(1970, 1, 1) - - -# Function to calculate milliseconds since epoch -def to_millis(dt): - return int((dt - epoch).total_seconds() * 1000) - - -client = TofuPilotClient() - -client.create_run( - procedure_id="FVT1", - unit_under_test={ - "serial_number": "SN17", - "part_number": "PNrstsrtsr", - "batch_number": "B", - }, - run_passed=True, # Overall run status - phases=[ - { - "name": "phase_connect", # First phase - "outcome": "PASS", - "start_time_millis": to_millis( - datetime.now() - ), # Start time of the step in ms - "end_time_millis": to_millis( - datetime.now() + timedelta(seconds=5, milliseconds=12) - ), # End time in ms - "measurements": [ - { - "name": "numeric_measurement", - "outcome": "PASS", - "measured_value": 12, - "units": "Hertz", - "lower_limit": 1, - "upper_limit": 20, - }, - { - "name": "string_measurement", - "outcome": "PASS", - "measured_value": "Test value", - "units": "Unitless", - "docstring": "This is a string measurement example", - }, - { - "name": "boolean_measurement_true", - "outcome": "PASS", - "measured_value": True, - "units": "BooleanUnit", - "docstring": "This is a boolean measurement example", - }, - { - "name": "boolean_measurement_false", - "outcome": "PASS", - "measured_value": False, - "units": "BooleanUnit", - "docstring": "This is a boolean measurement example", - }, - { - "name": "json_measurement", - "outcome": "PASS", - "measured_value": {"key1": "value1", "key2": 42}, - "units": "JSONUnit", - "docstring": "This is a JSON measurement example", - }, - { - "name": "empty_measurement", - "outcome": "PASS", - "measured_value": None, - "units": "EmptyUnit", - "docstring": "This is a measurement with a null value", - }, - { - "name": "no_value_measurement", - "outcome": "PASS", - "units": "NoValueUnit", - "docstring": "This is a measurement with no value specified", - }, - ], - } - ], -) diff --git a/testing_examples/client/create_run/with_attachments/data/performance-report.pdf b/testing_examples/client/create_run/with_attachments/data/performance-report.pdf deleted file mode 100644 index ce6914bace06f26b8aebc72e582e1cd0591a1857..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1527 zcmbVMe`pg|9Pg^o?r5d{UMG|{mPlP~?niR@VKbrmakf-VO^cNk>8_WTZd++n(nVWq=Eo-q-R=@z%*+seCbZasO0o^P{AcgO7sOo^lt3iqmLJb*l32J~_ zEO?Qs<8=+#$b9Ec3aTN3LZ*2%K~{7a2ehDwI`lyag)sPTs7CZCu-cvY8%>Wxv71T^ zeb91!@7GMlRJP`y(#?*ZDz$I4V)eS9`D)4K8+O*zyP>XiA@%3ztxcv4-*27>_l9RA z>Sp?gsccR9i{g{X(pSv&Mc-CcQ5_>a!bs79lNHy_R{!>gKRq~n^wFU;pDBNDdOy3~ zPBor-p{a6UuJlmw;>>;U>756~mwuQ-r`PjkrD>sSU(>4jSoCIJYOG{rmpZxnli_dn z*GQ?iO4>8W#+!$0oc@ZbOx@jvl&S5(;rE8_+%|3fYIJ%$8JX;ll@CVGw{DzzW47+D zOEOiyy6^2O@6hKjE(~0$JTrg!#ML9Sbzim|wm$AZdf{;?yGxopbKgC%>cg#VH|AcR zEt`lPzn9o}V*A3(U%#g6`R~?k8NYQU{hHW+%`>BAr;C5wKE}d#_Xf9|_gPP!{^{7y zFWtT#O?3P|HgNCU#8Ad_HkJ*hhyC#N%*W-I;QU9%@xe^TFN1Fy3+4MKJJ#-Lus=#Z z%&vV$n=W!kA96&iJoS0ih{`KGpiy*_9MV8LaYzsxq-ZZPh$Sd`4-Cno2PHr|gV%T$ zZ{eK4X=5!;*Foy38Tdk20lS8xJ)#E52+$2s>4my1iM1Z2gebbj=+tu_Bu>PA{3>>h ztVRIcCad+TCNCA1HL*W)ljp;CJTrc6pi_~13>=>4*#`;Mq6Rp8aU``s9kkOprGRdQ z2~1XFHx8yJ|McdcjaZf(mu@#6uz*mG^D1zF@IppbKz0x$jL`=Ion27U0e%@zp9C=;R|XE zga5j)=ETGn)a)#lv7qMoA3WzuJeIMpz++h(mT?JBkBhPbZ1x8P>R<8M?7sj2 diff --git a/testing_examples/client/create_run/with_attachments/data/temperature-map.png b/testing_examples/client/create_run/with_attachments/data/temperature-map.png deleted file mode 100644 index c7eb24b120b34ee7424a40d7cd425dee944a2b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123264 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�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

y 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 JgPL9R{{R+5KQjOT diff --git a/testing_examples/client/create_run/with_attachments/main.py b/testing_examples/client/create_run/with_attachments/main.py deleted file mode 100644 index 7f9fe21..0000000 --- a/testing_examples/client/create_run/with_attachments/main.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -Example script demonstrating how to create a test run in TofuPilot with attachments. - -This script creates a test run for a unit with the specified serial number and part number, -and includes attachments, such as images and reports, that are related to the test. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -from tofupilot import TofuPilotClient - -# Initialize the TofuPilot client -client = TofuPilotClient() - -# Create a test run for the unit with serial number "00102" and part number "PCB01", -# including attachments such as images and PDF reports -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00102", "part_number": "PCB01"}, - run_passed=True, - attachments=[ - "data/temperature-map.png", # Path to your local files - "data/performance-report.pdf", - ], -) diff --git a/testing_examples/client/create_run/with_duration/main.py b/testing_examples/client/create_run/with_duration/main.py deleted file mode 100644 index d96aaac..0000000 --- a/testing_examples/client/create_run/with_duration/main.py +++ /dev/null @@ -1,42 +0,0 @@ -""" -Example script demonstrating how to create a test run in TofuPilot with the duration of the test. - -This script measures the duration of a test function, then creates a test run for a unit -with the specified serial number and part number, including the duration as part of the run data. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -import time -from datetime import timedelta - -from tofupilot import TofuPilotClient - -# Initialize the TofuPilot client -client = TofuPilotClient() - - -def test_function(): - """ - Simulates a test execution. - """ - # Simulate test execution with a delay - time.sleep(1) # Placeholder for test execution time - return True - - -# Measure the duration of the test_function -start_time = time.time() -run_passed = test_function() -end_time = time.time() -duration = timedelta(seconds=end_time - start_time) # Calculate duration - -# Create a test run for the unit with serial number "00102" and part number "PCB01", -# including the duration of the test -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00102", "part_number": "PCB01"}, - run_passed=run_passed, - duration=duration, # Optional argument to include the duration -) diff --git a/testing_examples/client/create_run/with_phases_and_steps/main.py b/testing_examples/client/create_run/with_phases_and_steps/main.py deleted file mode 100644 index 9c729d6..0000000 --- a/testing_examples/client/create_run/with_phases_and_steps/main.py +++ /dev/null @@ -1,183 +0,0 @@ -import random -from datetime import datetime, timedelta -from random import randint - -from tofupilot import TofuPilotClient - -# Reference time to calculate start_time_millis in milliseconds since epoch -epoch = datetime(1970, 1, 1) - - -# Function to calculate milliseconds since epoch -def to_millis(dt): - return int((dt - epoch).total_seconds() * 1000) - - -client = TofuPilotClient() - -client.create_run( - procedure_id="FVT1", - unit_under_test={ - "serial_number": "SN17", - "part_number": "PNrstsrtsr", - "batch_number": "B", - }, - run_passed=True, # Overall run status - steps=[ - { - "name": "step_connect", # First step - "step_passed": True, # Status of the step - # Duration of the step - "duration": timedelta(seconds=5, milliseconds=12), - "started_at": datetime.now(), # Start time of the step - }, - { - "name": "step_string2", # First step - "step_passed": True, # Status of the step - # Duration of the step - "duration": timedelta(seconds=5, milliseconds=12), - "started_at": datetime.now(), # Start time of the step - "measurement_value": "This is a string", - }, - { - "name": "step_initial_charge_check", # Second step - "step_passed": True, # Status of the step - "duration": timedelta( - seconds=3, milliseconds=100 - ), # Duration of the step (<1s) - "started_at": datetime.now() - + timedelta(seconds=3), # Start time of the second step - "measurement_value": randint(90, 100), # Measured value - }, - { - "name": "step_initial_temp_check", # Third step - "step_passed": True, # Status of the step - "duration": timedelta( - seconds=1, milliseconds=100 - ), # Duration of the step (<1s) - "started_at": datetime.now() - # Start time of the third step - + timedelta(seconds=2, milliseconds=500), - "measurement_value": randint(-5, 20), # Measured temperature value - "measurement_unit": "°C", # Unit of the measurement (temperature) - "limit_low": 0, # Lower limit of acceptable temperature - }, - { - "name": "step_temp_calibration", # Fourth step - "step_passed": False, # Status of the step - "duration": timedelta( - seconds=3, milliseconds=100 - ), # Duration of the step (<1s) - "started_at": datetime.now() - timedelta(days=1, minutes=20), - "measurement_value": randint( - 69, 81 - ), # Measured temperature value after calibration - "measurement_unit": "°C", # Unit of the measurement (temperature) - "limit_low": 70, # Lower limit of acceptable temperature - "limit_high": 80, # Upper limit of acceptable temperature - }, - ], - phases=[ - { - "name": "phase_connect", # First phase - "outcome": "PASS", - "start_time_millis": to_millis( - datetime.now() - ), # Start time of the step in ms - "end_time_millis": to_millis( - datetime.now() + timedelta(seconds=5, milliseconds=12) - ), # End time in ms - "measurements": [ - { - "name": "connectivity_check", - "outcome": "PASS", # Measurement outcome - "measured_value": None, - "units": None, - "lower_limit": None, - "upper_limit": None, - } - ], - }, - { - "name": "phase_initial_charge_check", # Second phase - "outcome": "PASS", - "start_time_millis": to_millis( - datetime.now() + timedelta(seconds=3) - ), # Start time in ms - "end_time_millis": to_millis( - datetime.now() + timedelta(seconds=6, milliseconds=100) - ), # End time in ms - "measurements": [ - { - "name": "initial_charge", - "outcome": "PASS", # Measurement outcome - "measured_value": randint(90, 100), # Measured value - "units": None, - "lower_limit": None, - "upper_limit": None, - }, - { - "name": "initial_temperature", - "outcome": "PASS", # Measurement outcome - # Measured temperature value - "measured_value": randint(-5, 20), - "units": "°C", # Unit of the measurement - "lower_limit": 0, # Lower limit - "upper_limit": None, - }, - { - "name": "initial_temperature_2", - "outcome": "FAIL", # Measurement outcome - # Measured temperature value - "measured_value": randint(-5, 20), - "units": "°C", # Unit of the measurement - "lower_limit": 0, # Lower limit - "upper_limit": 15, # Upper limit - }, - ], - }, - { - "name": "phase_initial_temp_check", # Third phase - "outcome": "PASS", - "start_time_millis": to_millis( - datetime.now() + timedelta(seconds=2, milliseconds=500) - ), # Start time in ms - "end_time_millis": to_millis( - datetime.now() + timedelta(seconds=3, milliseconds=600) - ), # End time in ms - "measurements": [ - { - "name": "initial_temperature", - "outcome": "PASS", # Measurement outcome - # Measured temperature value - "measured_value": randint(-5, 20), - "units": "°C", # Unit of the measurement - "lower_limit": 0, # Lower limit - "upper_limit": None, - } - ], - }, - { - "name": "phase_temp_calibration", # Fourth phase - "outcome": "FAIL", - "start_time_millis": to_millis( - datetime.now() - timedelta(days=1, minutes=20) - ), # Start time in ms - "end_time_millis": to_millis( - datetime.now() - - timedelta(days=1, minutes=20) - + timedelta(seconds=3, milliseconds=100) - ), # End time in ms - "measurements": [ - { - "name": "temperature_calibration", - "outcome": "FAIL", # Measurement outcome - "measured_value": randint(69, 81), # Measured value - "units": "°C", # Unit of the measurement - "lower_limit": 70, # Lower limit - "upper_limit": 80, - } - ], - }, - ], -) diff --git a/testing_examples/client/create_run_from_openhtf_report/basic/main.py b/testing_examples/client/create_run_from_openhtf_report/basic/main.py deleted file mode 100644 index 536f5e9..0000000 --- a/testing_examples/client/create_run_from_openhtf_report/basic/main.py +++ /dev/null @@ -1,36 +0,0 @@ -from openhtf import PhaseResult, Test -from openhtf.output.callbacks import json_factory -from openhtf.plugs import user_input -from tofupilot import TofuPilotClient - -client = TofuPilotClient() - - -# Define a test phase to simulate the power-on procedure -def power_on_test(test): - print("Power on.") - return PhaseResult.CONTINUE - - -# Function to execute the test and save results to a JSON file -def execute_test(file_path): - test = Test(power_on_test, serial_number="PCB01") - - # Set output callback to save the test results as a JSON file - test.add_output_callbacks(json_factory.OutputToJSON(file_path)) - - # Execute the test with a specific device identifier - test.execute(lambda: "0001") - - -def main(): - # Specify the file path for saving test results - file_path = "./test_result.json" - execute_test(file_path) - - # Upload the test results to TofuPilot, specifying the importer type - client.create_run_from_openhtf_report(file_path) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg b/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/oscilloscope.jpeg deleted file mode 100644 index d49014b45f840932a28524ead0c65bd264ce5235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28654 zcmb5Vb97}v(>Hoz-paM-al{ewf0(j zckQm)-BrKp>gxVn`TPe!m64E^0Dyr30AODi;By@y3V?!ugoK2E`no|uK|#YH!oqwN z6a)k~L?8+p8W05tM90F%M#sR#1OmU2e8VLmAR;0{$0j8wB_ziuBqIDzBVb>j!a&0y z!@?pHVgNA+|9_XyegF^_@Cn8U0Y(Y{2ZBKW!9Irp1ONayI0V>#{kug*8>^=8b|_zPKv?8DoiG#tYU;|>=cjyi-k?j#^LN5 zn3&u+|4k#MfPz!ht)W>}v#@Dyft^du#3guOkV;%VsOakYt8HAc|FHRg8GrGI1c!hE zgZ`@H1^yqt;IPnO;80Nik?cRjkU%ta5*8?BXjWk(r+|V63{tj)fvY)@ZA>z9l|oTt z=f>;LH2@;S7cCG12>1@DrPULgnO-dUW#RLinCV-1jPgao^6?na;CEF2KAx;M<;#;{ z_loB=i&L1l6*Emi!Z~Y&1={<{R~MY{$%E(xT+XTKeD{7v_uf9QLMp|on6!O1x7^uB z+jKuP?vVHAsjZzje+{;)gkh%3KjxnR4DXlvjLb3kY%s_!R)KC`77k(qfP+5xNQuJ z4xgUOC}8=PPU_Wz*GAewYSOEu%x0}lhQ!t8Z?0D)&f+Ja07s?ldvGj?zn=@&Q_&VE z`hT+{es&3YPs+JzwLEZP*!M}Eepui71Qc79EeD>kJsBYvsDyWfG4t1_D7WF1vKmpx z&-wxp-q&adOROygH-T~|{sD1zK;?e)zS?EwEAu@YLdP5nI1lG3{MQufN zeZpRL>h21sNv>Oc3Wf|T*g#nKSxGXDf0W((DiU^AJL zMY+Ra+=@PeT;c=bN^7;y*ifc4<;d`(PTTP*LSC zsO+7Gu$r64hTf>!_k`d2%NL8FO{N&Tz;^7~zLl{SPzT@jG)Z>#*lEf)t%naeP#YyW+;E^~a6V z;uAGYjI2T`AtFmzo3wRaX-j8P-ciQyVLZ^j6xXO~-cX zr?w;S4DuY8m?wBn_`m%{m<4qBg{Cs5Gu>#_@z@Wr%J^vYc(``ruXzgc~0?QwvX zkIHbCnU+BfK)l4$j!bvOIL4Cfs>eldW5}fH@q^Y=FvlPvM&h;dkcw|<(<46JauY%6 z8I@c)O`^_)LlowsYEu7*C1!Np$#OZCQ%g!S%X~Yr@Ex{RGDMX{`mYq^2<57UqD^J=JSoREXPFRi)7a$xK6VrLcE+rY3 zY37g8Fiyy9LN*W4C`nR~h@ASygd0$BpV>kj+^UFB;#M0c4Tpu^Hhfl$UdD?v$x8Fv z2=VVTIG4`qGxJ><_&xQxwO*RdDHBVB2f{M;Q_L{HcXUC(+*yc$Q73D>4&=x2zm0>j zOkq1kqDn5fBZ|4%4Gyqg_g&6Zgf?THkVw z-=EGbh|Nm&eHpmBD^Y=Z3a#&x)DHIJA)9}sz`NGW|FV@q3)&4@m|}Qy#0ldSJ;>zL zJ5To`yj&2r+vTjgVQ7!l!jnF4fkHS>Wbee(>M}tYD;SQ0+U)PV2U5l&XUmGiN|GGK z7hnpl;~0?b^@cKQL_XxSoq+MLGlhI!_LKwo@X+& zpxSG7Xx+l>}8#a;!)G@ns&h2xL`a7^!#3n)ye#J>_SWJ(hf=&qtBPfvjgj zHQ}_G6Fy~)udka@=-&_LzuzCS+tqynvIIbPZYC=op8&xQ7CaaJ1AT!!+Mb7>SBZ!p zIFlKK%;s|au&=bGyUhneIBJ+j6jZMdH;Z0L;1n*QG>GI-7VKn|+hFX;tqzbtg&xlr zOP#vhE~e=bdvi))oYOcL5o(F)T)S{Sm%wh?MWnjg%<6Fnlm*{`u=u@1`QryS!d2Wb z(f=TFp}bAV#M}1k-qegU@=^p1!!ZTZ{6Eln>sFn7FP}*<&IUsoyB6YDx;PeFTve

U=B%2GVw~aR&Q($>NqHhBkTM$&TAlSJ)KG0>&z} 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 ZHthDa$QPUMG6EyZD>|e@E=K<>|1WJe3-$m2 diff --git a/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt b/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt deleted file mode 100644 index 0089758..0000000 --- a/testing_examples/client/create_run_from_openhtf_report/with_attachments/data/sample_file.txt +++ /dev/null @@ -1 +0,0 @@ -OpenHTF + TofuPilot = <3 \ No newline at end of file diff --git a/testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py b/testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py deleted file mode 100644 index a0189e0..0000000 --- a/testing_examples/client/create_run_from_openhtf_report/with_attachments/main.py +++ /dev/null @@ -1,49 +0,0 @@ -import openhtf as htf -from openhtf import PhaseResult, Test -from openhtf.output.callbacks import json_factory -from openhtf.plugs import user_input -from tofupilot import TofuPilotClient -from tofupilot.openhtf import TofuPilot - -client = TofuPilotClient() - - -# Define a test phase to simulate the power-on procedure -def power_on_test(test): - print("Power on.") - return PhaseResult.CONTINUE - - -# Define a phase that attaches a file -def phase_file_attachment(test): - test.attach_from_file("data/sample_file.txt") - test.attach_from_file("data/oscilloscope.jpeg") - return htf.PhaseResult.CONTINUE - - -# Function to execute the test and save results to a JSON file -def execute_test(file_path): - test = Test( - power_on_test, - phase_file_attachment, - procedure_id="FVT7", - serial_number="PCB01") - - # Set output callback to save the test results as a JSON file - test.add_output_callbacks(json_factory.OutputToJSON(file_path)) - - # Execute the test with a specific device identifier - test.execute(lambda: "0001") - - -def main(): - # Specify the file path for saving test results - file_path = "./test_result.json" - execute_test(file_path) - - # Upload the test results to TofuPilot, specifying the importer type - client.create_run_from_openhtf_report(file_path) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/delete_run/basic/main.py b/testing_examples/client/delete_run/basic/main.py deleted file mode 100644 index e62f1eb..0000000 --- a/testing_examples/client/delete_run/basic/main.py +++ /dev/null @@ -1,13 +0,0 @@ -from tofupilot import TofuPilotClient - -client = TofuPilotClient() - -response = client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00102", "part_number": "PCB01"}, - run_passed=True, -) - -run_id = response.get("id") - -client.delete_run(run_id=run_id) diff --git a/testing_examples/client/delete_unit/basic/main.py b/testing_examples/client/delete_unit/basic/main.py deleted file mode 100644 index 11343f0..0000000 --- a/testing_examples/client/delete_unit/basic/main.py +++ /dev/null @@ -1,15 +0,0 @@ -from tofupilot import TofuPilotClient - -client = TofuPilotClient() - -response = client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "NEW_UNIT", "part_number": "PCB01"}, - run_passed=True, -) - -run_id = response.get("id") - -client.delete_run(run_id=run_id) - -client.delete_unit(serial_number="NEW_UNIT") diff --git a/testing_examples/client/get_runs/basic/data/temperature-map.png b/testing_examples/client/get_runs/basic/data/temperature-map.png deleted file mode 100644 index c7eb24b120b34ee7424a40d7cd425dee944a2b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123264 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�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

y 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 JgPL9R{{R+5KQjOT diff --git a/testing_examples/client/get_runs/basic/main.py b/testing_examples/client/get_runs/basic/main.py deleted file mode 100644 index ba6e286..0000000 --- a/testing_examples/client/get_runs/basic/main.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Example script demonstrating how to create and then fetch a test run in TofuPilot. - -This script first creates a test run for a unit with a specified serial number and part number, -then retrieves the run data using the serial number. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -from tofupilot import TofuPilotClient -import json - -# Initialize the TofuPilot client -client = TofuPilotClient() - -# Define the serial number of the unit under test -serial_number = "SN00106" - -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": serial_number, "part_number": "PCB01"}, - run_passed=True, -) - -# Fetch the created run using the serial number -response = client.get_runs(serial_number=serial_number) - - -# Save JSON response locally -with open("response_saved.json", "w") as f: - json.dump(response, f, indent=2) - -print("Response saved to response_saved.json") diff --git a/testing_examples/client/get_runs/with_attachments/data/temperature-map.png b/testing_examples/client/get_runs/with_attachments/data/temperature-map.png deleted file mode 100644 index c7eb24b120b34ee7424a40d7cd425dee944a2b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123264 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�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

y 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 JgPL9R{{R+5KQjOT diff --git a/testing_examples/client/get_runs/with_attachments/main.py b/testing_examples/client/get_runs/with_attachments/main.py deleted file mode 100644 index 516b176..0000000 --- a/testing_examples/client/get_runs/with_attachments/main.py +++ /dev/null @@ -1,37 +0,0 @@ -from tofupilot import TofuPilotClient -import requests -from pathlib import Path - - -def main(): - # First create a run - client = TofuPilotClient() - - serial_number = "SN00106" - - client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": serial_number, "part_number": "PCB01"}, - run_passed=True, - attachments=[ - "qa/client/get_runs/basic/data/temperature-map.png" - ], # Update with your file path - ) - - # Then fetch the created run using the serial number - res = client.get_runs(serial_number=serial_number) - attachments = res["data"][0]["attachments"] - - # Download and save each attachment next to the script - for attachment in attachments: - response = requests.get(attachment["url"]) - response.raise_for_status() - - file_path = Path(__file__).parent / attachment["name"] - - with open(file_path, "wb+") as f: - f.write(response.content) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/legacy/steps/advanced/main.py b/testing_examples/client/legacy/steps/advanced/main.py deleted file mode 100644 index 8ae17fe..0000000 --- a/testing_examples/client/legacy/steps/advanced/main.py +++ /dev/null @@ -1,45 +0,0 @@ -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - - -def main(): - client = TofuPilotClient() - - client.create_run( - procedure_id="FVT1", - unit_under_test={ - "serial_number": "PCB1A002", - "part_number": "PCB1", - }, - run_passed=True, - steps=[ - { - "name": "step_connect", - "step_passed": True, - "duration": timedelta(seconds=3), - "started_at": datetime.now(), - }, - { - "name": "test_firmware_version_check", - "step_passed": True, - "duration": timedelta(minutes=1, seconds=42), - "started_at": datetime.now() + timedelta(seconds=3), - "measurement_value": "v2.5.1", - }, - { - "name": "step_temp_calibration", - "step_passed": True, - "duration": timedelta(milliseconds=500), - "started_at": datetime.now() + timedelta(seconds=4), - "measurement_value": 75, - "measurement_unit": "°C", - "limit_low": 70, - "limit_high": 80, - }, - ], - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/legacy/steps/optional/main.py b/testing_examples/client/legacy/steps/optional/main.py deleted file mode 100644 index 04b2cfa..0000000 --- a/testing_examples/client/legacy/steps/optional/main.py +++ /dev/null @@ -1,37 +0,0 @@ -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - - -def step_one(): - step = [ - { - "name": "step_one", - "step_passed": True, - "started_at": datetime.now(), - "duration": timedelta(seconds=30), - # Add a measurement with value, units and limits - "measurement_unit": "V", - "measurement_value": 3.3, - "limit_low": 3.1, - "limit_high": 3.5, - } - ] - return step - - -def main(): - steps = step_one() - - client = TofuPilotClient() - - client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, - steps=steps, - run_passed=all(step["step_passed"] for step in steps), - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/legacy/steps/required/main.py b/testing_examples/client/legacy/steps/required/main.py deleted file mode 100644 index 54524d3..0000000 --- a/testing_examples/client/legacy/steps/required/main.py +++ /dev/null @@ -1,32 +0,0 @@ -from datetime import datetime, timedelta - -from tofupilot import TofuPilotClient - - -def step_one(): - step = [ - { - "name": "step_one", - "step_passed": True, - "duration": timedelta(seconds=30), - "started_at": datetime.now(), - } - ] - return step - - -def main(): - steps = step_one() - - client = TofuPilotClient() - - client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "PCB1A001", "part_number": "PCB1"}, - steps=steps, - run_passed=all(step["step_passed"] for step in steps), - ) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/client/update_unit/basic/main.py b/testing_examples/client/update_unit/basic/main.py deleted file mode 100644 index 9385262..0000000 --- a/testing_examples/client/update_unit/basic/main.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Simple example showing how to add a sub-unit to an existing unit using the TofuPilotClient. - -This script assumes you already have two units with the respective serial numbers "00102" and "00103". -If the units do not exist, you can uncomment the lines to create them first. - -Ensure your API key is stored in the environment variables as per the documentation: -https://tofupilot.com/docs/user-management#api-key -""" - -from tofupilot import TofuPilotClient - -# Initialize the TofuPilot client -client = TofuPilotClient() - -# Creating units -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00102", "part_number": "PCB01"}, - run_passed=True, -) -client.create_run( - procedure_id="FVT1", - unit_under_test={"serial_number": "00103", "part_number": "PSU01"}, - run_passed=True, -) - -# Update unit "00102" by adding unit "00103" as a sub-unit -client.update_unit(serial_number="00102", - sub_units=[{"serial_number": "00103"}]) diff --git a/testing_examples/openhtf/all_the_things/data/oscilloscope.jpeg b/testing_examples/openhtf/all_the_things/data/oscilloscope.jpeg deleted file mode 100644 index d49014b45f840932a28524ead0c65bd264ce5235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28654 zcmb5Vb97}v(>Hoz-paM-al{ewf0(j zckQm)-BrKp>gxVn`TPe!m64E^0Dyr30AODi;By@y3V?!ugoK2E`no|uK|#YH!oqwN z6a)k~L?8+p8W05tM90F%M#sR#1OmU2e8VLmAR;0{$0j8wB_ziuBqIDzBVb>j!a&0y z!@?pHVgNA+|9_XyegF^_@Cn8U0Y(Y{2ZBKW!9Irp1ONayI0V>#{kug*8>^=8b|_zPKv?8DoiG#tYU;|>=cjyi-k?j#^LN5 zn3&u+|4k#MfPz!ht)W>}v#@Dyft^du#3guOkV;%VsOakYt8HAc|FHRg8GrGI1c!hE zgZ`@H1^yqt;IPnO;80Nik?cRjkU%ta5*8?BXjWk(r+|V63{tj)fvY)@ZA>z9l|oTt z=f>;LH2@;S7cCG12>1@DrPULgnO-dUW#RLinCV-1jPgao^6?na;CEF2KAx;M<;#;{ z_loB=i&L1l6*Emi!Z~Y&1={<{R~MY{$%E(xT+XTKeD{7v_uf9QLMp|on6!O1x7^uB z+jKuP?vVHAsjZzje+{;)gkh%3KjxnR4DXlvjLb3kY%s_!R)KC`77k(qfP+5xNQuJ z4xgUOC}8=PPU_Wz*GAewYSOEu%x0}lhQ!t8Z?0D)&f+Ja07s?ldvGj?zn=@&Q_&VE z`hT+{es&3YPs+JzwLEZP*!M}Eepui71Qc79EeD>kJsBYvsDyWfG4t1_D7WF1vKmpx z&-wxp-q&adOROygH-T~|{sD1zK;?e)zS?EwEAu@YLdP5nI1lG3{MQufN zeZpRL>h21sNv>Oc3Wf|T*g#nKSxGXDf0W((DiU^AJL zMY+Ra+=@PeT;c=bN^7;y*ifc4<;d`(PTTP*LSC zsO+7Gu$r64hTf>!_k`d2%NL8FO{N&Tz;^7~zLl{SPzT@jG)Z>#*lEf)t%naeP#YyW+;E^~a6V z;uAGYjI2T`AtFmzo3wRaX-j8P-ciQyVLZ^j6xXO~-cX zr?w;S4DuY8m?wBn_`m%{m<4qBg{Cs5Gu>#_@z@Wr%J^vYc(``ruXzgc~0?QwvX zkIHbCnU+BfK)l4$j!bvOIL4Cfs>eldW5}fH@q^Y=FvlPvM&h;dkcw|<(<46JauY%6 z8I@c)O`^_)LlowsYEu7*C1!Np$#OZCQ%g!S%X~Yr@Ex{RGDMX{`mYq^2<57UqD^J=JSoREXPFRi)7a$xK6VrLcE+rY3 zY37g8Fiyy9LN*W4C`nR~h@ASygd0$BpV>kj+^UFB;#M0c4Tpu^Hhfl$UdD?v$x8Fv z2=VVTIG4`qGxJ><_&xQxwO*RdDHBVB2f{M;Q_L{HcXUC(+*yc$Q73D>4&=x2zm0>j zOkq1kqDn5fBZ|4%4Gyqg_g&6Zgf?THkVw z-=EGbh|Nm&eHpmBD^Y=Z3a#&x)DHIJA)9}sz`NGW|FV@q3)&4@m|}Qy#0ldSJ;>zL zJ5To`yj&2r+vTjgVQ7!l!jnF4fkHS>Wbee(>M}tYD;SQ0+U)PV2U5l&XUmGiN|GGK z7hnpl;~0?b^@cKQL_XxSoq+MLGlhI!_LKwo@X+& zpxSG7Xx+l>}8#a;!)G@ns&h2xL`a7^!#3n)ye#J>_SWJ(hf=&qtBPfvjgj zHQ}_G6Fy~)udka@=-&_LzuzCS+tqynvIIbPZYC=op8&xQ7CaaJ1AT!!+Mb7>SBZ!p zIFlKK%;s|au&=bGyUhneIBJ+j6jZMdH;Z0L;1n*QG>GI-7VKn|+hFX;tqzbtg&xlr zOP#vhE~e=bdvi))oYOcL5o(F)T)S{Sm%wh?MWnjg%<6Fnlm*{`u=u@1`QryS!d2Wb z(f=TFp}bAV#M}1k-qegU@=^p1!!ZTZ{6Eln>sFn7FP}*<&IUsoyB6YDx;PeFTve

U=B%2GVw~aR&Q($>NqHhBkTM$&TAlSJ)KG0>&z} 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 ZHthDa$QPUMG6EyZD>|e@E=K<>|1WJe3-$m2 diff --git a/testing_examples/openhtf/all_the_things/main.py b/testing_examples/openhtf/all_the_things/main.py deleted file mode 100644 index 0cefc39..0000000 --- a/testing_examples/openhtf/all_the_things/main.py +++ /dev/null @@ -1,183 +0,0 @@ -import os.path -import time - -import openhtf as htf -from openhtf import util -from openhtf.output import callbacks -from openhtf.output.callbacks import console_summary, json_factory -from openhtf.util import units -from tofupilot.openhtf import TofuPilot - - -@htf.measures( - htf.Measurement("widget_type") - .matches_regex(r".*Widget$") - .doc("""This measurement tracks the type of widgets."""), - htf.Measurement("widget_color").doc("Color of the widget"), - htf.Measurement("widget_size").in_range(1, 4).doc("Size of widget"), -) -@htf.measures( - "specified_as_args", - docstring="Helpful docstring", - units=units.HERTZ, - validators=[util.validators.matches_regex("Measurement")], -) -def hello_world(test): - """A hello world test phase.""" - test.logger.info("Hello World!") - test.measurements.widget_type = "MyWidget" - test.measurements.widget_color = "Black" - test.measurements.widget_size = 3 - test.measurements.specified_as_args = "Measurement args specified directly" - - -# Timeout if this phase takes longer than 10 seconds. -@htf.PhaseOptions(timeout_s=10) -@htf.measures(*(htf.Measurement("level_%s" % i) - for i in ["none", "some", "all"])) -def set_measurements(test): - """Test phase that sets a measurement.""" - test.measurements.level_none = 0 - time.sleep(1) - test.measurements.level_some = 8 - time.sleep(1) - test.measurements.level_all = 9 - time.sleep(1) - level_all = test.get_measurement("level_all") - assert level_all.value == 9 - - -@htf.measures( - htf.Measurement("dimensions").with_dimensions(units.HERTZ), - htf.Measurement("lots_of_dims").with_dimensions( - units.HERTZ, - units.SECOND, - htf.Dimension(description="my_angle", unit=units.RADIAN), - ), -) -def dimensions(test): - """Phase with dimensioned measurements.""" - for dim in range(5): - test.measurements.dimensions[dim] = 1 << dim - for x, y, z in zip( - list( - range( - 1, 5)), list( - range( - 21, 25)), list( - range( - 101, 105))): - test.measurements.lots_of_dims[x, y, z] = x + y + z - - -@htf.measures( - htf.Measurement("replaced_min_only").in_range( - "{minimum}", 5, type=int), htf.Measurement("replaced_max_only").in_range( - 0, "{maximum}", type=int), htf.Measurement("replaced_min_max").in_range( - "{minimum}", "{maximum}", type=int), ) -def measures_with_args(test, minimum, maximum): - """Phase with measurement with arguments.""" - del minimum # Unused. - del maximum # Unused. - test.measurements.replaced_min_only = 1 - test.measurements.replaced_max_only = 1 - test.measurements.replaced_min_max = 1 - - -@htf.measures( - htf.Measurement("replaced_marginal_min_only").in_range( - 0, 10, "{marginal_minimum}", 8, type=int - ), - htf.Measurement("replaced_marginal_max_only").in_range( - 0, 10, 2, "{marginal_maximum}", type=int - ), - htf.Measurement("replaced_marginal_min_max").in_range( - 0, 10, "{marginal_minimum}", "{marginal_maximum}", type=int - ), -) -def measures_with_marginal_args(test, marginal_minimum, marginal_maximum): - """Phase with measurement with marginal arguments.""" - del marginal_minimum # Unused. - del marginal_maximum # Unused. - test.measurements.replaced_marginal_min_only = 3 - test.measurements.replaced_marginal_max_only = 3 - test.measurements.replaced_marginal_min_max = 3 - - -def attachments(test): - test.attach( - "test_attachment", - "This is test attachment data.".encode("utf-8")) - test.attach_from_file("data/oscilloscope.jpeg") - - test_attachment = test.get_attachment("test_attachment") - assert test_attachment.data == b"This is test attachment data." - - -@htf.PhaseOptions(run_if=lambda: False) -def skip_phase(): - """Don't run this phase.""" - - -def analysis(test): # pylint: disable=missing-function-docstring - level_all = test.get_measurement("level_all") - assert level_all.value == 9 - test_attachment = test.get_attachment("test_attachment") - assert test_attachment.data == b"This is test attachment data." - lots_of_dims = test.get_measurement("lots_of_dims") - assert lots_of_dims.value.value == [ - (1, 21, 101, 123), - (2, 22, 102, 126), - (3, 23, 103, 129), - (4, 24, 104, 132), - ] - test.logger.info( - "Pandas datafram of lots_of_dims \n:%s", - lots_of_dims.value.to_dataframe()) - - -def teardown(test): - test.logger.info("Running teardown") - - -def make_test(): - return htf.Test( - htf.PhaseGroup.with_teardown(teardown)( - hello_world, - set_measurements, - dimensions, - attachments, - skip_phase, - measures_with_args.with_args(minimum=1, maximum=4), - measures_with_marginal_args.with_args( - marginal_minimum=4, marginal_maximum=6 - ), - analysis, - ), - test_name="MyTest", - test_description="OpenHTF Example Test", - test_version="1.0.0", - part_number="PCB01", - procedure_id="FVT1", - ) - - -def main(): - test = make_test() - test.add_output_callbacks( - callbacks.OutputToFile( - "./{dut_id}.{metadata[test_name]}.{start_time_millis}.pickle" - ) - ) - test.add_output_callbacks( - json_factory.OutputToJSON( - "./{dut_id}.{metadata[test_name]}.{start_time_millis}.json", - indent=4)) - test.add_output_callbacks(console_summary.ConsoleSummary()) - - with TofuPilot(test): - test.execute(lambda: "00220D4K") - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/generic/data/oscilloscope.jpeg b/testing_examples/openhtf/generic/data/oscilloscope.jpeg deleted file mode 100644 index d49014b45f840932a28524ead0c65bd264ce5235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28654 zcmb5Vb97}v(>Hoz-paM-al{ewf0(j zckQm)-BrKp>gxVn`TPe!m64E^0Dyr30AODi;By@y3V?!ugoK2E`no|uK|#YH!oqwN z6a)k~L?8+p8W05tM90F%M#sR#1OmU2e8VLmAR;0{$0j8wB_ziuBqIDzBVb>j!a&0y z!@?pHVgNA+|9_XyegF^_@Cn8U0Y(Y{2ZBKW!9Irp1ONayI0V>#{kug*8>^=8b|_zPKv?8DoiG#tYU;|>=cjyi-k?j#^LN5 zn3&u+|4k#MfPz!ht)W>}v#@Dyft^du#3guOkV;%VsOakYt8HAc|FHRg8GrGI1c!hE zgZ`@H1^yqt;IPnO;80Nik?cRjkU%ta5*8?BXjWk(r+|V63{tj)fvY)@ZA>z9l|oTt z=f>;LH2@;S7cCG12>1@DrPULgnO-dUW#RLinCV-1jPgao^6?na;CEF2KAx;M<;#;{ z_loB=i&L1l6*Emi!Z~Y&1={<{R~MY{$%E(xT+XTKeD{7v_uf9QLMp|on6!O1x7^uB z+jKuP?vVHAsjZzje+{;)gkh%3KjxnR4DXlvjLb3kY%s_!R)KC`77k(qfP+5xNQuJ z4xgUOC}8=PPU_Wz*GAewYSOEu%x0}lhQ!t8Z?0D)&f+Ja07s?ldvGj?zn=@&Q_&VE z`hT+{es&3YPs+JzwLEZP*!M}Eepui71Qc79EeD>kJsBYvsDyWfG4t1_D7WF1vKmpx z&-wxp-q&adOROygH-T~|{sD1zK;?e)zS?EwEAu@YLdP5nI1lG3{MQufN zeZpRL>h21sNv>Oc3Wf|T*g#nKSxGXDf0W((DiU^AJL zMY+Ra+=@PeT;c=bN^7;y*ifc4<;d`(PTTP*LSC zsO+7Gu$r64hTf>!_k`d2%NL8FO{N&Tz;^7~zLl{SPzT@jG)Z>#*lEf)t%naeP#YyW+;E^~a6V z;uAGYjI2T`AtFmzo3wRaX-j8P-ciQyVLZ^j6xXO~-cX zr?w;S4DuY8m?wBn_`m%{m<4qBg{Cs5Gu>#_@z@Wr%J^vYc(``ruXzgc~0?QwvX zkIHbCnU+BfK)l4$j!bvOIL4Cfs>eldW5}fH@q^Y=FvlPvM&h;dkcw|<(<46JauY%6 z8I@c)O`^_)LlowsYEu7*C1!Np$#OZCQ%g!S%X~Yr@Ex{RGDMX{`mYq^2<57UqD^J=JSoREXPFRi)7a$xK6VrLcE+rY3 zY37g8Fiyy9LN*W4C`nR~h@ASygd0$BpV>kj+^UFB;#M0c4Tpu^Hhfl$UdD?v$x8Fv z2=VVTIG4`qGxJ><_&xQxwO*RdDHBVB2f{M;Q_L{HcXUC(+*yc$Q73D>4&=x2zm0>j zOkq1kqDn5fBZ|4%4Gyqg_g&6Zgf?THkVw z-=EGbh|Nm&eHpmBD^Y=Z3a#&x)DHIJA)9}sz`NGW|FV@q3)&4@m|}Qy#0ldSJ;>zL zJ5To`yj&2r+vTjgVQ7!l!jnF4fkHS>Wbee(>M}tYD;SQ0+U)PV2U5l&XUmGiN|GGK z7hnpl;~0?b^@cKQL_XxSoq+MLGlhI!_LKwo@X+& zpxSG7Xx+l>}8#a;!)G@ns&h2xL`a7^!#3n)ye#J>_SWJ(hf=&qtBPfvjgj zHQ}_G6Fy~)udka@=-&_LzuzCS+tqynvIIbPZYC=op8&xQ7CaaJ1AT!!+Mb7>SBZ!p zIFlKK%;s|au&=bGyUhneIBJ+j6jZMdH;Z0L;1n*QG>GI-7VKn|+hFX;tqzbtg&xlr zOP#vhE~e=bdvi))oYOcL5o(F)T)S{Sm%wh?MWnjg%<6Fnlm*{`u=u@1`QryS!d2Wb z(f=TFp}bAV#M}1k-qegU@=^p1!!ZTZ{6Eln>sFn7FP}*<&IUsoyB6YDx;PeFTve

U=B%2GVw~aR&Q($>NqHhBkTM$&TAlSJ)KG0>&z} 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 ZHthDa$QPUMG6EyZD>|e@E=K<>|1WJe3-$m2 diff --git a/testing_examples/openhtf/generic/main.py b/testing_examples/openhtf/generic/main.py deleted file mode 100644 index d932c0e..0000000 --- a/testing_examples/openhtf/generic/main.py +++ /dev/null @@ -1,99 +0,0 @@ -import random -import time -from datetime import datetime, timedelta - -import openhtf as htf -from openhtf.util import units -from tofupilot.openhtf import TofuPilot - - -@htf.measures(htf.Measurement("firmware_version").equals("1.4.3")) -def pcba_firmware_version(test): - test.measurements.firmware_version = "1.4.3" if random.random() < 0.99 else "1.4.2" - - -@htf.measures(htf.Measurement("button_status").equals(True)) -def check_button(test): - test.measurements.button_status = random.choice([True, False]) - time.sleep(1) - - -@htf.measures(htf.Measurement("input_voltage").in_range(4.5, - 5).with_units(units.VOLT)) -def test_voltage_input(test): - test.measurements.input_voltage = round(random.uniform(3.7, 4.9), 2) - - -@htf.measures( - htf.Measurement("output_voltage").in_range(3.2, 3.4).with_units(units.VOLT) -) -def test_voltage_output(test): - test.measurements.output_voltage = round(random.uniform(2.95, 3.35), 2) - - -@htf.measures( - htf.Measurement("current_protection_triggered") - .in_range(maximum=1.5) - .with_units(units.AMPERE) -) -def test_overcurrent_protection(test): - test.measurements.current_protection_triggered = round( - random.uniform(1.0, 1.7), 3) - time.sleep(1) - - -def test_battery_switch(): - if random.random() < 0.9: - return htf.PhaseResult.CONTINUE - else: - return htf.PhaseResult.STOP - - -@htf.measures( - htf.Measurement("efficiency").in_range(85, 98).with_units(units.Unit("%")) -) -def test_converter_efficiency(test): - input_power = 500 - output_power = round(random.uniform(425, 480)) - test.measurements.efficiency = round( - ((output_power / input_power) * 100), 1) - time.sleep(1) - - -def visual_control_pcb_coating(test): - if random.random() < 0.98: - test.attach_from_file("qa/openhtf/generic/data/oscilloscope.jpeg") - return htf.PhaseResult.CONTINUE - else: - return htf.PhaseResult.STOP - - -def main(): - # Define the test plan with all steps - test = htf.Test( - pcba_firmware_version, - check_button, - test_voltage_input, - test_voltage_output, - test_overcurrent_protection, - test_battery_switch, - test_converter_efficiency, - visual_control_pcb_coating, - procedure_id="FVT1", - part_number="00220", - revision="A", - # batch_number="1024-0001", - # sub_units=[{"serial_number": "00102"}], - ) - - # Generate random Serial Number - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220B4K{random_digits}" - - # Execute the test - with TofuPilot(test): - test.execute(lambda: serial_number) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/logger/main.py b/testing_examples/openhtf/logger/main.py deleted file mode 100644 index cc6c53f..0000000 --- a/testing_examples/openhtf/logger/main.py +++ /dev/null @@ -1,54 +0,0 @@ -import random - -import openhtf as htf -from openhtf.output.callbacks import json_factory -from tofupilot.openhtf import TofuPilot - - -@htf.measures(htf.Measurement("button_status").equals(True)) -def phase_info_logger(test): - test.measurements.button_status = True - test.logger.info("Logging an info in the logger") - - -def phase_error_logger(test): - test.logger.error("Logging error in the logger") - return htf.PhaseResult.CONTINUE - - -def phase_warning_logger(test): - test.logger.warning("Logging a warning in the logger") - return htf.PhaseResult.CONTINUE - - -def phase_critical_logger(test): - test.logger.critical("Logging a critical in the logger") - return htf.PhaseResult.CONTINUE - - -def main(): - # Define the test plan with all steps - test = htf.Test( - phase_info_logger, - phase_error_logger, - phase_warning_logger, - phase_critical_logger, - procedure_id="FVT9", - part_number="00220D", - ) - - # Generate random Serial Number - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220D4K{random_digits}" - - test.add_output_callbacks( - json_factory.OutputToJSON( - "test_result.json", indent=2)) - - # Execute the test - with TofuPilot(test): - test.execute(lambda: serial_number) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/multi_dimensions/main.py b/testing_examples/openhtf/multi_dimensions/main.py deleted file mode 100644 index 5f2cfdd..0000000 --- a/testing_examples/openhtf/multi_dimensions/main.py +++ /dev/null @@ -1,104 +0,0 @@ -import random -import time - -import numpy as np -import openhtf as htf -from openhtf.output.callbacks import json_factory -from openhtf.util import units -from tofupilot.openhtf import TofuPilot - - -@htf.measures( - htf.Measurement("voltage").with_dimensions(units.SECOND).with_units(units.VOLT), - htf.Measurement("mean_voltage").with_units(units.VOLT).in_range(3.3, 3.5), - htf.Measurement("sinus").with_dimensions(units.SECOND).with_units(units.AMPERE), - htf.Measurement("neg_x_axis").with_dimensions(units.SECOND).with_units(units.VOLT), - htf.Measurement("neg_y_axis").with_dimensions(units.SECOND).with_units(units.VOLT), - htf.Measurement("parameters"), -) -def multi_dimension_phase(test): - len = 50 - sum_voltage = 0.0 - min_voltage = float("inf") - max_voltage = float("-inf") - for t in range(len): - voltage = round(random.uniform(3.3, 3.5), 2) - test.measurements.voltage[t] = voltage - sum_voltage += voltage - - if voltage < min_voltage: - min_voltage = voltage - if voltage > max_voltage: - max_voltage = voltage - - negative_timestamp = -t - test.measurements.neg_x_axis[negative_timestamp] = voltage - test.measurements.neg_y_axis[t] = -voltage - - test.measurements.mean_voltage = sum_voltage / len - - # metadata array - test.measurements.parameters = { - "mean_voltage": test.measurements.mean_voltage, - "min_voltage": min_voltage, - "max_voltage": max_voltage, - "duration": 345, - } - - # Sinus - x = np.linspace(0, 2 * np.pi, 100) - y = np.sin(x) - for i, amp in enumerate(y): - test.measurements.sinus[i] = amp - - -@htf.measures( - htf.Measurement("current_and_voltage_over_time") - .with_dimensions(units.SECOND, units.VOLT) - .with_units(units.AMPERE), - htf.Measurement("current_voltage_resistence_over_time") - .with_dimensions(units.SECOND, units.VOLT, units.AMPERE) - .with_units(units.OHM), -) -def power_phase(test): - for t in range(100): - timestamp = t / 100 - voltage = round(random.uniform(3.3, 3.5), 2) - current = round(random.uniform(0.3, 0.8), 3) - resistance = voltage / current - test.measurements.current_and_voltage_over_time[timestamp, - voltage] = current - test.measurements.current_voltage_resistence_over_time[ - timestamp, voltage, current - ] = resistance - - -def main(): - test = htf.Test( - multi_dimension_phase, - power_phase, - procedure_id="FVT2", - part_number="00220S", - revision="B", - batch_number="1124-0001", - ) - - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220D4K{random_digits}" - - test.add_output_callbacks( - json_factory.OutputToJSON( - "test_result.json", indent=2)) - - start = time.time() - # Execute the test - with TofuPilot(test): - test.execute(lambda: serial_number) - - end = time.time() - duration = end - start - print(f"Durée : {duration:.2f} secondes") - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/multi_measurements/main.py b/testing_examples/openhtf/multi_measurements/main.py deleted file mode 100644 index 7157e23..0000000 --- a/testing_examples/openhtf/multi_measurements/main.py +++ /dev/null @@ -1,116 +0,0 @@ -import random - -import openhtf as htf -from openhtf.util import units -from tofupilot.openhtf import TofuPilot - - -@htf.measures( - htf.Measurement("firmware_version").equals("1.4.3"), - htf.Measurement("power_mode_functional").equals("on"), -) -def string_test(test): - test.measurements.firmware_version = "1.4.3" if random.random() < 0.99 else "1.4.2" - test.measurements.power_mode_functional = "on" - - -@htf.measures(htf.Measurement("button_status").equals(True)) -def boolean_test(test): - test.measurements.button_status = True - - -def phaseresult_test(): - return htf.PhaseResult.CONTINUE - - -@htf.measures( - htf.Measurement("two_limits").in_range( - 4.5, 5).with_units( - units.VOLT), htf.Measurement("one_limit").in_range( - maximum=1.5).with_units( - units.AMPERE), htf.Measurement("percentage").in_range( - 85, 98).with_units( - units.Unit("%")), ) -def measure_test_with_limits(test): - test.measurements.two_limits = round(random.uniform(3.8, 4.9), 2) - test.measurements.one_limit = round(random.uniform(1.0, 1.6), 3) - input_power = 500 - output_power = round(random.uniform(425, 480)) - test.measurements.percentage = round( - ((output_power / input_power) * 100), 1) - - -@htf.measures(htf.Measurement("is_connected").equals(True), - htf.Measurement("firmware_version").equals("1.2.7"), - htf.Measurement("temperature").in_range(20, - 25).with_units(units.DEGREE_CELSIUS), - ) -def phase_multi_measurements(test): - test.measurements.is_connected = True - test.measurements.firmware_version = ( - "1.2.7" if test.measurements.is_connected else "N/A" - ) - test.measurements.temperature = round(random.uniform(22.5, 23), 2) - - -@htf.measures( - htf.Measurement("dimensions").with_dimensions(units.HERTZ), - htf.Measurement("lots_of_dims").with_dimensions( - units.HERTZ, - units.SECOND, - htf.Dimension(description="my_angle", unit=units.RADIAN), - ), -) -def dimensions(test): - """Phase with dimensioned measurements.""" - for dim in range(5): - test.measurements.dimensions[dim] = 1 << dim - for x, y, z in zip( - list( - range( - 1, 5)), list( - range( - 21, 25)), list( - range( - 101, 105))): - test.measurements.lots_of_dims[x, y, z] = x + y + z - - -@htf.measures( - htf.Measurement("binary_measure").equals(True), - htf.Measurement("string_measure").equals("1.2.7"), - htf.Measurement("numerical_measure") - .in_range(20, 25) - .with_units(units.DEGREE_CELSIUS), -) -def not_working_multi_measurements(test): - test.measurements.binary_measure = 42 - test.measurements.string_measure = 123 - test.measurements.numerical_measure = 35 - - -def main(): - # Define the test plan with all steps - test = htf.Test( - phase_multi_measurements, - dimensions, - string_test, - boolean_test, - phaseresult_test, - measure_test_with_limits, - not_working_multi_measurements, - procedure_id="FVT9", - part_number="00220D", - ) - - # Generate random Serial Number - random_digits = "".join([str(random.randint(0, 9)) for _ in range(5)]) - serial_number = f"00220D4K{random_digits}" - - # Execute the test - with TofuPilot(test): - test.execute(lambda: serial_number) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/procedure_version/main.py b/testing_examples/openhtf/procedure_version/main.py deleted file mode 100644 index 7157b78..0000000 --- a/testing_examples/openhtf/procedure_version/main.py +++ /dev/null @@ -1,30 +0,0 @@ -import random - -import openhtf as htf -from tofupilot.openhtf import TofuPilot - - -@htf.measures(htf.Measurement("button_status").equals(True)) -def check_button(test): - test.measurements.button_status = bool(random.randint(0, 1)) - - -def main(): - test = htf.Test( - check_button, - procedure_id="FVT1", # No need to specify the ID - procedure_version="1.2.20", # Create procedure version - part_number="00220", - revision="B", - ) - - # Generate random Serial Number - serial_number = f"00220B4K{random.randint(10000, 99999)}" - - # Execute the test - with TofuPilot(test, stream=False): - test.execute(lambda: serial_number) - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/regex_serial_number/main.py b/testing_examples/openhtf/regex_serial_number/main.py deleted file mode 100644 index f7344b4..0000000 --- a/testing_examples/openhtf/regex_serial_number/main.py +++ /dev/null @@ -1,25 +0,0 @@ -import random - -import openhtf as htf -from tofupilot.openhtf import TofuPilot - - -@htf.measures(htf.Measurement("button_status").equals(True)) -def check_button(test): - test.measurements.button_status = bool(random.randint(0, 1)) - - -def main(): - test = htf.Test( - check_button, - procedure_id="FVT1", - # REGEX is defined in the Settings from Serial Number for: - # part_number="PCB01", - ) - - with TofuPilot(test): - test.execute(lambda: "PCB01A123") - - -if __name__ == "__main__": - main() diff --git a/testing_examples/openhtf/without_streaming/data/oscilloscope.jpeg b/testing_examples/openhtf/without_streaming/data/oscilloscope.jpeg deleted file mode 100644 index d49014b45f840932a28524ead0c65bd264ce5235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28654 zcmb5Vb97}v(>Hoz-paM-al{ewf0(j zckQm)-BrKp>gxVn`TPe!m64E^0Dyr30AODi;By@y3V?!ugoK2E`no|uK|#YH!oqwN z6a)k~L?8+p8W05tM90F%M#sR#1OmU2e8VLmAR;0{$0j8wB_ziuBqIDzBVb>j!a&0y z!@?pHVgNA+|9_XyegF^_@Cn8U0Y(Y{2ZBKW!9Irp1ONayI0V>#{kug*8>^=8b|_zPKv?8DoiG#tYU;|>=cjyi-k?j#^LN5 zn3&u+|4k#MfPz!ht)W>}v#@Dyft^du#3guOkV;%VsOakYt8HAc|FHRg8GrGI1c!hE zgZ`@H1^yqt;IPnO;80Nik?cRjkU%ta5*8?BXjWk(r+|V63{tj)fvY)@ZA>z9l|oTt z=f>;LH2@;S7cCG12>1@DrPULgnO-dUW#RLinCV-1jPgao^6?na;CEF2KAx;M<;#;{ z_loB=i&L1l6*Emi!Z~Y&1={<{R~MY{$%E(xT+XTKeD{7v_uf9QLMp|on6!O1x7^uB z+jKuP?vVHAsjZzje+{;)gkh%3KjxnR4DXlvjLb3kY%s_!R)KC`77k(qfP+5xNQuJ z4xgUOC}8=PPU_Wz*GAewYSOEu%x0}lhQ!t8Z?0D)&f+Ja07s?ldvGj?zn=@&Q_&VE z`hT+{es&3YPs+JzwLEZP*!M}Eepui71Qc79EeD>kJsBYvsDyWfG4t1_D7WF1vKmpx z&-wxp-q&adOROygH-T~|{sD1zK;?e)zS?EwEAu@YLdP5nI1lG3{MQufN zeZpRL>h21sNv>Oc3Wf|T*g#nKSxGXDf0W((DiU^AJL zMY+Ra+=@PeT;c=bN^7;y*ifc4<;d`(PTTP*LSC zsO+7Gu$r64hTf>!_k`d2%NL8FO{N&Tz;^7~zLl{SPzT@jG)Z>#*lEf)t%naeP#YyW+;E^~a6V z;uAGYjI2T`AtFmzo3wRaX-j8P-ciQyVLZ^j6xXO~-cX zr?w;S4DuY8m?wBn_`m%{m<4qBg{Cs5Gu>#_@z@Wr%J^vYc(``ruXzgc~0?QwvX zkIHbCnU+BfK)l4$j!bvOIL4Cfs>eldW5}fH@q^Y=FvlPvM&h;dkcw|<(<46JauY%6 z8I@c)O`^_)LlowsYEu7*C1!Np$#OZCQ%g!S%X~Yr@Ex{RGDMX{`mYq^2<57UqD^J=JSoREXPFRi)7a$xK6VrLcE+rY3 zY37g8Fiyy9LN*W4C`nR~h@ASygd0$BpV>kj+^UFB;#M0c4Tpu^Hhfl$UdD?v$x8Fv z2=VVTIG4`qGxJ><_&xQxwO*RdDHBVB2f{M;Q_L{HcXUC(+*yc$Q73D>4&=x2zm0>j zOkq1kqDn5fBZ|4%4Gyqg_g&6Zgf?THkVw z-=EGbh|Nm&eHpmBD^Y=Z3a#&x)DHIJA)9}sz`NGW|FV@q3)&4@m|}Qy#0ldSJ;>zL zJ5To`yj&2r+vTjgVQ7!l!jnF4fkHS>Wbee(>M}tYD;SQ0+U)PV2U5l&XUmGiN|GGK z7hnpl;~0?b^@cKQL_XxSoq+MLGlhI!_LKwo@X+& zpxSG7Xx+l>}8#a;!)G@ns&h2xL`a7^!#3n)ye#J>_SWJ(hf=&qtBPfvjgj zHQ}_G6Fy~)udka@=-&_LzuzCS+tqynvIIbPZYC=op8&xQ7CaaJ1AT!!+Mb7>SBZ!p zIFlKK%;s|au&=bGyUhneIBJ+j6jZMdH;Z0L;1n*QG>GI-7VKn|+hFX;tqzbtg&xlr zOP#vhE~e=bdvi))oYOcL5o(F)T)S{Sm%wh?MWnjg%<6Fnlm*{`u=u@1`QryS!d2Wb z(f=TFp}bAV#M}1k-qegU@=^p1!!ZTZ{6Eln>sFn7FP}*<&IUsoyB6YDx;PeFTve

U=B%2GVw~aR&Q($>NqHhBkTM$&TAlSJ)KG0>&z} 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 ZHthDa$QPUMG6EyZD>|e@E=K<>|1WJe3-$m2 diff --git a/testing_examples/openhtf/without_streaming/main.py b/testing_examples/openhtf/without_streaming/main.py deleted file mode 100644 index f89d527..0000000 --- a/testing_examples/openhtf/without_streaming/main.py +++ /dev/null @@ -1,183 +0,0 @@ -import os.path -import time - -import openhtf as htf -from openhtf import util -from openhtf.output import callbacks -from openhtf.output.callbacks import console_summary, json_factory -from openhtf.util import units -from tofupilot.openhtf import TofuPilot - - -@htf.measures( - htf.Measurement("widget_type") - .matches_regex(r".*Widget$") - .doc("""This measurement tracks the type of widgets."""), - htf.Measurement("widget_color").doc("Color of the widget"), - htf.Measurement("widget_size").in_range(1, 4).doc("Size of widget"), -) -@htf.measures( - "specified_as_args", - docstring="Helpful docstring", - units=units.HERTZ, - validators=[util.validators.matches_regex("Measurement")], -) -def hello_world(test): - """A hello world test phase.""" - test.logger.info("Hello World!") - test.measurements.widget_type = "MyWidget" - test.measurements.widget_color = "Black" - test.measurements.widget_size = 3 - test.measurements.specified_as_args = "Measurement args specified directly" - - -# Timeout if this phase takes longer than 10 seconds. -@htf.PhaseOptions(timeout_s=10) -@htf.measures(*(htf.Measurement("level_%s" % i) - for i in ["none", "some", "all"])) -def set_measurements(test): - """Test phase that sets a measurement.""" - test.measurements.level_none = 0 - time.sleep(1) - test.measurements.level_some = 8 - time.sleep(1) - test.measurements.level_all = 9 - time.sleep(1) - level_all = test.get_measurement("level_all") - assert level_all.value == 9 - - -@htf.measures( - htf.Measurement("dimensions").with_dimensions(units.HERTZ), - htf.Measurement("lots_of_dims").with_dimensions( - units.HERTZ, - units.SECOND, - htf.Dimension(description="my_angle", unit=units.RADIAN), - ), -) -def dimensions(test): - """Phase with dimensioned measurements.""" - for dim in range(5): - test.measurements.dimensions[dim] = 1 << dim - for x, y, z in zip( - list( - range( - 1, 5)), list( - range( - 21, 25)), list( - range( - 101, 105))): - test.measurements.lots_of_dims[x, y, z] = x + y + z - - -@htf.measures( - htf.Measurement("replaced_min_only").in_range( - "{minimum}", 5, type=int), htf.Measurement("replaced_max_only").in_range( - 0, "{maximum}", type=int), htf.Measurement("replaced_min_max").in_range( - "{minimum}", "{maximum}", type=int), ) -def measures_with_args(test, minimum, maximum): - """Phase with measurement with arguments.""" - del minimum # Unused. - del maximum # Unused. - test.measurements.replaced_min_only = 1 - test.measurements.replaced_max_only = 1 - test.measurements.replaced_min_max = 1 - - -@htf.measures( - htf.Measurement("replaced_marginal_min_only").in_range( - 0, 10, "{marginal_minimum}", 8, type=int - ), - htf.Measurement("replaced_marginal_max_only").in_range( - 0, 10, 2, "{marginal_maximum}", type=int - ), - htf.Measurement("replaced_marginal_min_max").in_range( - 0, 10, "{marginal_minimum}", "{marginal_maximum}", type=int - ), -) -def measures_with_marginal_args(test, marginal_minimum, marginal_maximum): - """Phase with measurement with marginal arguments.""" - del marginal_minimum # Unused. - del marginal_maximum # Unused. - test.measurements.replaced_marginal_min_only = 3 - test.measurements.replaced_marginal_max_only = 3 - test.measurements.replaced_marginal_min_max = 3 - - -def attachments(test): - test.attach( - "test_attachment", - "This is test attachment data.".encode("utf-8")) - test.attach_from_file("data/oscilloscope.jpeg") - - test_attachment = test.get_attachment("test_attachment") - assert test_attachment.data == b"This is test attachment data." - - -@htf.PhaseOptions(run_if=lambda: False) -def skip_phase(): - """Don't run this phase.""" - - -def analysis(test): # pylint: disable=missing-function-docstring - level_all = test.get_measurement("level_all") - assert level_all.value == 9 - test_attachment = test.get_attachment("test_attachment") - assert test_attachment.data == b"This is test attachment data." - lots_of_dims = test.get_measurement("lots_of_dims") - assert lots_of_dims.value.value == [ - (1, 21, 101, 123), - (2, 22, 102, 126), - (3, 23, 103, 129), - (4, 24, 104, 132), - ] - test.logger.info( - "Pandas datafram of lots_of_dims \n:%s", - lots_of_dims.value.to_dataframe()) - - -def teardown(test): - test.logger.info("Running teardown") - - -def make_test(): - return htf.Test( - htf.PhaseGroup.with_teardown(teardown)( - hello_world, - set_measurements, - dimensions, - attachments, - skip_phase, - measures_with_args.with_args(minimum=1, maximum=4), - measures_with_marginal_args.with_args( - marginal_minimum=4, marginal_maximum=6 - ), - analysis, - ), - test_name="MyTest", - test_description="OpenHTF Example Test", - test_version="1.0.0", - part_number="PCB01", - procedure_id="FVT1", - ) - - -def main(): - test = make_test() - test.add_output_callbacks( - callbacks.OutputToFile( - "./{dut_id}.{metadata[test_name]}.{start_time_millis}.pickle" - ) - ) - test.add_output_callbacks( - json_factory.OutputToJSON( - "./{dut_id}.{metadata[test_name]}.{start_time_millis}.json", - indent=4)) - test.add_output_callbacks(console_summary.ConsoleSummary()) - - with TofuPilot(test, stream=False): - test.execute(lambda: "00220D4K") - - -if __name__ == "__main__": - main() From 87fe5652877f74f6e0bcaa91fd6c0944cded6987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20Ev=C3=A9quoz?= Date: Wed, 6 Aug 2025 15:25:33 +0200 Subject: [PATCH 21/23] Move doc examples in api_v1 folder --- .../attachments/client/data/temperature-map.png | Bin .../{ => api_v1}/attachments/client/main.py | 0 .../attachments/openhtf/data/temperature-map.png | Bin .../{ => api_v1}/attachments/openhtf/main.py | 0 .../{ => api_v1}/integrations/client/main.py | 0 .../{ => api_v1}/integrations/openhtf/main.py | 0 docs_tofupilot/{ => api_v1}/logger/client/main.py | 0 docs_tofupilot/{ => api_v1}/logger/openhtf/main.py | 0 .../measurements/boolean/client/main.py | 0 .../measurements/boolean/openhtf/main.py | 0 .../measurements/dimensional/client/main.py | 0 .../measurements/dimensional/openhtf/main.py | 0 .../measurements/multi-measurements/client/main.py | 0 .../measurements/multi-measurements/openhtf/main.py | 0 .../measurements/numerical/client/main.py | 0 .../measurements/numerical/openhtf/main.py | 0 .../{ => api_v1}/measurements/string/client/main.py | 0 .../measurements/string/openhtf/main.py | 0 .../{ => api_v1}/offline-upload/client/main.py | 0 ...A69658.openhtf_test.2025-01-20_15-32-06-058.json | 0 .../{ => api_v1}/offline-upload/openhtf/main.py | 0 .../{ => api_v1}/phases/advanced/client/main.py | 0 .../{ => api_v1}/phases/advanced/openhtf/main.py | 0 .../{ => api_v1}/phases/optional/client/main.py | 0 .../{ => api_v1}/phases/optional/openhtf/main.py | 0 .../{ => api_v1}/phases/required/client/main.py | 0 .../{ => api_v1}/phases/required/openhtf/main.py | 0 .../{ => api_v1}/procedures/client/main.py | 0 .../{ => api_v1}/procedures/openhtf/main.py | 0 docs_tofupilot/{ => api_v1}/stations/client/main.py | 0 .../{ => api_v1}/stations/openhtf/main.py | 0 .../{ => api_v1}/sub-units/client/main.py | 0 .../{ => api_v1}/sub-units/openhtf/main.py | 0 .../{ => api_v1}/unit-under-test/client/main.py | 0 .../{ => api_v1}/unit-under-test/openhtf/main.py | 0 35 files changed, 0 insertions(+), 0 deletions(-) rename docs_tofupilot/{ => api_v1}/attachments/client/data/temperature-map.png (100%) rename docs_tofupilot/{ => api_v1}/attachments/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/attachments/openhtf/data/temperature-map.png (100%) rename docs_tofupilot/{ => api_v1}/attachments/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/integrations/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/integrations/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/logger/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/logger/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/boolean/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/boolean/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/dimensional/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/dimensional/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/multi-measurements/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/multi-measurements/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/numerical/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/numerical/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/string/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/measurements/string/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/offline-upload/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/offline-upload/openhtf/data/PCB01A69658.openhtf_test.2025-01-20_15-32-06-058.json (100%) rename docs_tofupilot/{ => api_v1}/offline-upload/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/advanced/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/advanced/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/optional/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/optional/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/required/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/phases/required/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/procedures/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/procedures/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/stations/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/stations/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/sub-units/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/sub-units/openhtf/main.py (100%) rename docs_tofupilot/{ => api_v1}/unit-under-test/client/main.py (100%) rename docs_tofupilot/{ => api_v1}/unit-under-test/openhtf/main.py (100%) diff --git a/docs_tofupilot/attachments/client/data/temperature-map.png b/docs_tofupilot/api_v1/attachments/client/data/temperature-map.png similarity index 100% rename from docs_tofupilot/attachments/client/data/temperature-map.png rename to docs_tofupilot/api_v1/attachments/client/data/temperature-map.png diff --git a/docs_tofupilot/attachments/client/main.py b/docs_tofupilot/api_v1/attachments/client/main.py similarity index 100% rename from docs_tofupilot/attachments/client/main.py rename to docs_tofupilot/api_v1/attachments/client/main.py diff --git a/docs_tofupilot/attachments/openhtf/data/temperature-map.png b/docs_tofupilot/api_v1/attachments/openhtf/data/temperature-map.png similarity index 100% rename from docs_tofupilot/attachments/openhtf/data/temperature-map.png rename to docs_tofupilot/api_v1/attachments/openhtf/data/temperature-map.png diff --git a/docs_tofupilot/attachments/openhtf/main.py b/docs_tofupilot/api_v1/attachments/openhtf/main.py similarity index 100% rename from docs_tofupilot/attachments/openhtf/main.py rename to docs_tofupilot/api_v1/attachments/openhtf/main.py diff --git a/docs_tofupilot/integrations/client/main.py b/docs_tofupilot/api_v1/integrations/client/main.py similarity index 100% rename from docs_tofupilot/integrations/client/main.py rename to docs_tofupilot/api_v1/integrations/client/main.py diff --git a/docs_tofupilot/integrations/openhtf/main.py b/docs_tofupilot/api_v1/integrations/openhtf/main.py similarity index 100% rename from docs_tofupilot/integrations/openhtf/main.py rename to docs_tofupilot/api_v1/integrations/openhtf/main.py diff --git a/docs_tofupilot/logger/client/main.py b/docs_tofupilot/api_v1/logger/client/main.py similarity index 100% rename from docs_tofupilot/logger/client/main.py rename to docs_tofupilot/api_v1/logger/client/main.py diff --git a/docs_tofupilot/logger/openhtf/main.py b/docs_tofupilot/api_v1/logger/openhtf/main.py similarity index 100% rename from docs_tofupilot/logger/openhtf/main.py rename to docs_tofupilot/api_v1/logger/openhtf/main.py diff --git a/docs_tofupilot/measurements/boolean/client/main.py b/docs_tofupilot/api_v1/measurements/boolean/client/main.py similarity index 100% rename from docs_tofupilot/measurements/boolean/client/main.py rename to docs_tofupilot/api_v1/measurements/boolean/client/main.py diff --git a/docs_tofupilot/measurements/boolean/openhtf/main.py b/docs_tofupilot/api_v1/measurements/boolean/openhtf/main.py similarity index 100% rename from docs_tofupilot/measurements/boolean/openhtf/main.py rename to docs_tofupilot/api_v1/measurements/boolean/openhtf/main.py diff --git a/docs_tofupilot/measurements/dimensional/client/main.py b/docs_tofupilot/api_v1/measurements/dimensional/client/main.py similarity index 100% rename from docs_tofupilot/measurements/dimensional/client/main.py rename to docs_tofupilot/api_v1/measurements/dimensional/client/main.py diff --git a/docs_tofupilot/measurements/dimensional/openhtf/main.py b/docs_tofupilot/api_v1/measurements/dimensional/openhtf/main.py similarity index 100% rename from docs_tofupilot/measurements/dimensional/openhtf/main.py rename to docs_tofupilot/api_v1/measurements/dimensional/openhtf/main.py diff --git a/docs_tofupilot/measurements/multi-measurements/client/main.py b/docs_tofupilot/api_v1/measurements/multi-measurements/client/main.py similarity index 100% rename from docs_tofupilot/measurements/multi-measurements/client/main.py rename to docs_tofupilot/api_v1/measurements/multi-measurements/client/main.py diff --git a/docs_tofupilot/measurements/multi-measurements/openhtf/main.py b/docs_tofupilot/api_v1/measurements/multi-measurements/openhtf/main.py similarity index 100% rename from docs_tofupilot/measurements/multi-measurements/openhtf/main.py rename to docs_tofupilot/api_v1/measurements/multi-measurements/openhtf/main.py diff --git a/docs_tofupilot/measurements/numerical/client/main.py b/docs_tofupilot/api_v1/measurements/numerical/client/main.py similarity index 100% rename from docs_tofupilot/measurements/numerical/client/main.py rename to docs_tofupilot/api_v1/measurements/numerical/client/main.py diff --git a/docs_tofupilot/measurements/numerical/openhtf/main.py b/docs_tofupilot/api_v1/measurements/numerical/openhtf/main.py similarity index 100% rename from docs_tofupilot/measurements/numerical/openhtf/main.py rename to docs_tofupilot/api_v1/measurements/numerical/openhtf/main.py diff --git a/docs_tofupilot/measurements/string/client/main.py b/docs_tofupilot/api_v1/measurements/string/client/main.py similarity index 100% rename from docs_tofupilot/measurements/string/client/main.py rename to docs_tofupilot/api_v1/measurements/string/client/main.py diff --git a/docs_tofupilot/measurements/string/openhtf/main.py b/docs_tofupilot/api_v1/measurements/string/openhtf/main.py similarity index 100% rename from docs_tofupilot/measurements/string/openhtf/main.py rename to docs_tofupilot/api_v1/measurements/string/openhtf/main.py diff --git a/docs_tofupilot/offline-upload/client/main.py b/docs_tofupilot/api_v1/offline-upload/client/main.py similarity index 100% rename from docs_tofupilot/offline-upload/client/main.py rename to docs_tofupilot/api_v1/offline-upload/client/main.py diff --git a/docs_tofupilot/offline-upload/openhtf/data/PCB01A69658.openhtf_test.2025-01-20_15-32-06-058.json b/docs_tofupilot/api_v1/offline-upload/openhtf/data/PCB01A69658.openhtf_test.2025-01-20_15-32-06-058.json similarity index 100% rename from docs_tofupilot/offline-upload/openhtf/data/PCB01A69658.openhtf_test.2025-01-20_15-32-06-058.json rename to docs_tofupilot/api_v1/offline-upload/openhtf/data/PCB01A69658.openhtf_test.2025-01-20_15-32-06-058.json diff --git a/docs_tofupilot/offline-upload/openhtf/main.py b/docs_tofupilot/api_v1/offline-upload/openhtf/main.py similarity index 100% rename from docs_tofupilot/offline-upload/openhtf/main.py rename to docs_tofupilot/api_v1/offline-upload/openhtf/main.py diff --git a/docs_tofupilot/phases/advanced/client/main.py b/docs_tofupilot/api_v1/phases/advanced/client/main.py similarity index 100% rename from docs_tofupilot/phases/advanced/client/main.py rename to docs_tofupilot/api_v1/phases/advanced/client/main.py diff --git a/docs_tofupilot/phases/advanced/openhtf/main.py b/docs_tofupilot/api_v1/phases/advanced/openhtf/main.py similarity index 100% rename from docs_tofupilot/phases/advanced/openhtf/main.py rename to docs_tofupilot/api_v1/phases/advanced/openhtf/main.py diff --git a/docs_tofupilot/phases/optional/client/main.py b/docs_tofupilot/api_v1/phases/optional/client/main.py similarity index 100% rename from docs_tofupilot/phases/optional/client/main.py rename to docs_tofupilot/api_v1/phases/optional/client/main.py diff --git a/docs_tofupilot/phases/optional/openhtf/main.py b/docs_tofupilot/api_v1/phases/optional/openhtf/main.py similarity index 100% rename from docs_tofupilot/phases/optional/openhtf/main.py rename to docs_tofupilot/api_v1/phases/optional/openhtf/main.py diff --git a/docs_tofupilot/phases/required/client/main.py b/docs_tofupilot/api_v1/phases/required/client/main.py similarity index 100% rename from docs_tofupilot/phases/required/client/main.py rename to docs_tofupilot/api_v1/phases/required/client/main.py diff --git a/docs_tofupilot/phases/required/openhtf/main.py b/docs_tofupilot/api_v1/phases/required/openhtf/main.py similarity index 100% rename from docs_tofupilot/phases/required/openhtf/main.py rename to docs_tofupilot/api_v1/phases/required/openhtf/main.py diff --git a/docs_tofupilot/procedures/client/main.py b/docs_tofupilot/api_v1/procedures/client/main.py similarity index 100% rename from docs_tofupilot/procedures/client/main.py rename to docs_tofupilot/api_v1/procedures/client/main.py diff --git a/docs_tofupilot/procedures/openhtf/main.py b/docs_tofupilot/api_v1/procedures/openhtf/main.py similarity index 100% rename from docs_tofupilot/procedures/openhtf/main.py rename to docs_tofupilot/api_v1/procedures/openhtf/main.py diff --git a/docs_tofupilot/stations/client/main.py b/docs_tofupilot/api_v1/stations/client/main.py similarity index 100% rename from docs_tofupilot/stations/client/main.py rename to docs_tofupilot/api_v1/stations/client/main.py diff --git a/docs_tofupilot/stations/openhtf/main.py b/docs_tofupilot/api_v1/stations/openhtf/main.py similarity index 100% rename from docs_tofupilot/stations/openhtf/main.py rename to docs_tofupilot/api_v1/stations/openhtf/main.py diff --git a/docs_tofupilot/sub-units/client/main.py b/docs_tofupilot/api_v1/sub-units/client/main.py similarity index 100% rename from docs_tofupilot/sub-units/client/main.py rename to docs_tofupilot/api_v1/sub-units/client/main.py diff --git a/docs_tofupilot/sub-units/openhtf/main.py b/docs_tofupilot/api_v1/sub-units/openhtf/main.py similarity index 100% rename from docs_tofupilot/sub-units/openhtf/main.py rename to docs_tofupilot/api_v1/sub-units/openhtf/main.py diff --git a/docs_tofupilot/unit-under-test/client/main.py b/docs_tofupilot/api_v1/unit-under-test/client/main.py similarity index 100% rename from docs_tofupilot/unit-under-test/client/main.py rename to docs_tofupilot/api_v1/unit-under-test/client/main.py diff --git a/docs_tofupilot/unit-under-test/openhtf/main.py b/docs_tofupilot/api_v1/unit-under-test/openhtf/main.py similarity index 100% rename from docs_tofupilot/unit-under-test/openhtf/main.py rename to docs_tofupilot/api_v1/unit-under-test/openhtf/main.py From e4ce6978fd9222189b5d9cf9d67d26d7bfc109e7 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Nov 2025 09:18:51 +0000 Subject: [PATCH 22/23] Add assembly test with multi-dimensional voltage sampling This commit adds a new assembly test example that demonstrates how to collect 100 voltage measurements over time using multi-dimensional measurements. The voltage_sampling_test() function returns a list of (timestamp, voltage) tuples that can be visualized and analyzed in TofuPilot. Key features: - Samples 100 voltage measurements during test execution - Returns multi-dimensional data as list of tuples - Includes proper units for each dimension (time in seconds, voltage in V) - Validates all samples against defined limits (10.0V - 12.0V) - Integrated into the FVT4 assembly test procedure --- .../assembly_test_with_voltage_sampling.py | 376 ++++++++++++++++++ 1 file changed, 376 insertions(+) create mode 100644 docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py diff --git a/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py b/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py new file mode 100644 index 0000000..337ebf3 --- /dev/null +++ b/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py @@ -0,0 +1,376 @@ +import random +from datetime import datetime, timedelta + +from tofupilot import TofuPilotClient + +client = TofuPilotClient() + + +# Simulate passing probability for a test result +def simulate_test_result(passed_prob): + return random.random() < passed_prob + + +# Cell Test Functions +def esr_test(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) + ) + return passed, value_measured, "mΩ", 5, 15 + + +def cell_voltage_test(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(3.0, 3.5), 2) + if passed + else round(random.uniform(2.5, 2.9), 2) + ) + return passed, value_measured, "V", 3.0, 3.5 + + +def ir_test(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) + ) + return passed, value_measured, "mΩ", 5, 15 + + +def charge_discharge_cycle_test(): + passed = simulate_test_result(0.95) + value_measured = ( + round(random.uniform(95, 100), 1) + if passed + else round(random.uniform(80, 94), 1) + ) + return passed, value_measured, "% Capacity", 95, 100 + + +# PCBA Test function +def flash_firmware_and_version(): + passed = simulate_test_result(0.99) + value_measured = "1.2.8" if passed else None + return passed, value_measured, None, None, None + + +def configuration_battery_gauge(): + passed = simulate_test_result(0.98) + return passed, None, None, None, None + + +def get_calibration_values_and_internal_statuses(): + passed = simulate_test_result(0.98) + return passed, None, None, None, None + + +def overvoltage_protection_test(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(4.20, 4.25), 3) + if passed + else round(random.uniform(4.30, 4.35), 3) + ) + return passed, value_measured, "V", 4.20, 4.25 + + +def undervoltage_protection_test(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(2.5, 2.6), 2) + if passed + else round(random.uniform(2.3, 2.4), 2) + ) + return passed, value_measured, "V", 2.5, 2.6 + + +def test_LED_and_button(): + passed = simulate_test_result(0.95) + return passed, None, None, None, None + + +def save_information_in_memory(): + passed = simulate_test_result(0.99) + return passed, None, None, None, None + + +def config_battery_gauge(): + passed = simulate_test_result(0.95) + return passed, None, None, None, None + + +def calibrate_temperature(): + passed = simulate_test_result(0.98) + value_measured = round(random.uniform(20.0, 25.0), 1) + return passed, value_measured, "°C", 20, 25 + + +# Assembly Test Functions +def battery_connection(): + passed = simulate_test_result(1.0) + return passed, None, None, None, None + + +def voltage_value(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(10.0, 12.0), 2) + if passed + else round(random.uniform(8.0, 9.5), 2) + ) + return passed, value_measured, "V", 10.0, 12.0 + + +def voltage_sampling_test(): + """ + Multi-dimensional voltage sampling test. + Samples 100 voltage measurements over time. + Returns: (passed, measurements, units, limit_low, limit_high) + where measurements is a list of (timestamp, voltage) tuples + """ + passed_prob = 0.98 + num_samples = 100 + limit_low = 10.0 + limit_high = 12.0 + + measurements = [] + all_passed = True + + # Simulate voltage measurements over time + for i in range(num_samples): + timestamp = i / num_samples # Time in seconds (0 to 0.99) + + # Determine if this sample should pass + sample_passed = simulate_test_result(passed_prob) + + if sample_passed: + voltage = round(random.uniform(limit_low, limit_high), 2) + else: + voltage = round(random.uniform(8.0, 9.5), 2) + all_passed = False + + measurements.append((timestamp, voltage)) + + # Return multi-dimensional measurement + # Format: (passed, value_measured, unit, limit_low, limit_high) + # For multi-dimensional, value_measured is the list of tuples + # and unit should be a list of units for each dimension + return all_passed, measurements, ["s", "V"], limit_low, limit_high + + +def internal_resistance(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) + ) + return passed, value_measured, "mΩ", 5, 15 + + +def thermal_runaway_detection(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(55, 65), 2) if passed else round(random.uniform(66, 70), 2) + ) + return passed, value_measured, "°C", 55, 65 + + +def state_of_health(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(95, 100), 1) + if passed + else round(random.uniform(85, 94), 1) + ) + return passed, value_measured, "%", 95, None + + +def state_of_charge(): + passed = simulate_test_result(0.98) + value_measured = ( + round(random.uniform(40, 60), 1) if passed else round(random.uniform(25, 35), 1) + ) + return passed, value_measured, "%", 40, 60 + + +def visual_inspection(): + passed = simulate_test_result(1) + return passed, None, None, None, None + + +# Run a single test +def run_test(test, duration): + start_time = datetime.now() + passed, value_measured, unit, limit_low, limit_high = test() + + step = { + "name": test.__name__, + "started_at": start_time, + "duration": duration, + "step_passed": passed, + "measurement_unit": unit, + "measurement_value": value_measured, + "limit_low": limit_low, + "limit_high": limit_high, + } + return passed, step + + +def run_all_tests(tests, previous_failed_step=None): + steps = [] + all_tests_passed = True + failed_at_step = None + + for index, (test, duration) in enumerate(tests): + if previous_failed_step is not None and index == previous_failed_step["index"]: + passed = previous_failed_step["step_passed"] + step = previous_failed_step + else: + passed, step = run_test(test, duration) + + steps.append(step) + + if not passed: + failed_at_step = { + "index": index, + "step_passed": passed, + "name": step["name"], + "started_at": step["started_at"], + "duration": step["duration"], + "measurement_unit": step["measurement_unit"], + "measurement_value": step["measurement_value"], + "limit_low": step["limit_low"], + "limit_high": step["limit_high"], + } + all_tests_passed = False + break + + return all_tests_passed, steps, failed_at_step + + +# Run a list of tests sequentially +def handle_procedure( + procedure_id, + tests, + serial_number, + part_number, + revision, + batch_number, + sub_units, + attachments, +): + run_passed, steps, failed_step = run_all_tests(tests) + + if procedure_id == "FVT3" and run_passed: # Assembly Procedure + internal_resistance = steps[2]["measurement_value"] + voltage_value = steps[1]["measurement_value"] + + client.create_run( + procedure_id=procedure_id, + unit_under_test={ + "part_number": part_number, + "revision": revision, + "serial_number": serial_number, + "batch_number": batch_number, + }, + run_passed=run_passed, + steps=steps, + sub_units=sub_units, + attachments=attachments, + ) + return run_passed, failed_step + + +# Main Function for Executing Procedures +def execute_procedures(end): + for _ in range(end): + # Generate unique serial numbers + part_number_cell = "00143" + part_number_pcb = "00786" + part_number_assembly = "SI02430" + revision_cell = "A" + revision_pcb = "B" + revision_assembly = "B" + static_segment = "4J" + random_digits_cell = "".join([str(random.randint(0, 9)) for _ in range(5)]) + random_digits_pcb = "".join([str(random.randint(0, 9)) for _ in range(5)]) + random_digits_assembly = "".join([str(random.randint(0, 9)) for _ in range(5)]) + serial_number_cell = ( + f"{part_number_cell}{revision_cell}{static_segment}{random_digits_cell}" + ) + serial_number_pcb = ( + f"{part_number_pcb}{revision_pcb}{static_segment}{random_digits_pcb}" + ) + serial_number_assembly = f"{part_number_assembly}{revision_assembly}{static_segment}{random_digits_assembly}" + batch_number = "1024" + + # Execute PCBA Tests + tests_pcb = [ + (flash_firmware_and_version, timedelta(seconds=90)), + (configuration_battery_gauge, timedelta(seconds=1)), + (get_calibration_values_and_internal_statuses, timedelta(seconds=1)), + (overvoltage_protection_test, timedelta(seconds=5)), + (undervoltage_protection_test, timedelta(seconds=5)), + (test_LED_and_button, timedelta(seconds=6)), + (save_information_in_memory, timedelta(seconds=0.1)), + (visual_inspection, timedelta(seconds=10)), + ] + passed_pcb, failed_step_pcb = handle_procedure( + "FVT1", + tests_pcb, + serial_number_pcb, + part_number_pcb, + revision_pcb, + batch_number, + None, + ["data/pcb_coating.jpeg"], + ) + if not passed_pcb: + continue + + # Execute Cell Tests + tests_cell = [ + (esr_test, timedelta(seconds=2)), + (cell_voltage_test, timedelta(seconds=0.1)), + (ir_test, timedelta(seconds=5)), + (charge_discharge_cycle_test, timedelta(seconds=2)), + ] + passed_cell, failed_step_cell = handle_procedure( + "FVT2", + tests_cell, + serial_number_cell, + part_number_cell, + revision_cell, + batch_number, + None, + None, + ) + if not passed_cell: + continue + + # Execute Assembly Tests with voltage sampling + tests_assembly = [ + (battery_connection, timedelta(seconds=0.1)), + (voltage_sampling_test, timedelta(seconds=10)), # New multi-dimensional test + (internal_resistance, timedelta(seconds=1)), + (thermal_runaway_detection, timedelta(seconds=2)), + (state_of_health, timedelta(seconds=2)), + (state_of_charge, timedelta(seconds=2)), + ] + handle_procedure( + "FVT4", + tests_assembly, + serial_number_assembly, + part_number_assembly, + revision_assembly, + batch_number, + [ + {"serial_number": serial_number_pcb}, + {"serial_number": serial_number_cell}, + ], + None, + ) + + +if __name__ == "__main__": + execute_procedures(1) From e682c0c78baf4cd3956aaa3872ec379d32a7c3ad Mon Sep 17 00:00:00 2001 From: charlottEv Date: Mon, 10 Nov 2025 09:19:16 +0000 Subject: [PATCH 23/23] Auto code format --- .../assembly_test_with_voltage_sampling.py | 69 +++++++++++++++---- 1 file changed, 55 insertions(+), 14 deletions(-) diff --git a/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py b/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py index 337ebf3..3ba6708 100644 --- a/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py +++ b/docs_tofupilot/api_v1/assembly_test_with_voltage_sampling.py @@ -15,8 +15,15 @@ def simulate_test_result(passed_prob): def esr_test(): passed = simulate_test_result(0.98) value_measured = ( - round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) - ) + round( + random.uniform( + 5, + 10), + 2) if passed else round( + random.uniform( + 15, + 20), + 2)) return passed, value_measured, "mΩ", 5, 15 @@ -33,8 +40,15 @@ def cell_voltage_test(): def ir_test(): passed = simulate_test_result(0.98) value_measured = ( - round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) - ) + round( + random.uniform( + 5, + 10), + 2) if passed else round( + random.uniform( + 15, + 20), + 2)) return passed, value_measured, "mΩ", 5, 15 @@ -162,16 +176,30 @@ def voltage_sampling_test(): def internal_resistance(): passed = simulate_test_result(0.98) value_measured = ( - round(random.uniform(5, 10), 2) if passed else round(random.uniform(15, 20), 2) - ) + round( + random.uniform( + 5, + 10), + 2) if passed else round( + random.uniform( + 15, + 20), + 2)) return passed, value_measured, "mΩ", 5, 15 def thermal_runaway_detection(): passed = simulate_test_result(0.98) value_measured = ( - round(random.uniform(55, 65), 2) if passed else round(random.uniform(66, 70), 2) - ) + round( + random.uniform( + 55, + 65), + 2) if passed else round( + random.uniform( + 66, + 70), + 2)) return passed, value_measured, "°C", 55, 65 @@ -188,8 +216,15 @@ def state_of_health(): def state_of_charge(): passed = simulate_test_result(0.98) value_measured = ( - round(random.uniform(40, 60), 1) if passed else round(random.uniform(25, 35), 1) - ) + round( + random.uniform( + 40, + 60), + 1) if passed else round( + random.uniform( + 25, + 35), + 1)) return passed, value_measured, "%", 40, 60 @@ -292,9 +327,12 @@ def execute_procedures(end): revision_pcb = "B" revision_assembly = "B" static_segment = "4J" - random_digits_cell = "".join([str(random.randint(0, 9)) for _ in range(5)]) - random_digits_pcb = "".join([str(random.randint(0, 9)) for _ in range(5)]) - random_digits_assembly = "".join([str(random.randint(0, 9)) for _ in range(5)]) + random_digits_cell = "".join( + [str(random.randint(0, 9)) for _ in range(5)]) + random_digits_pcb = "".join( + [str(random.randint(0, 9)) for _ in range(5)]) + random_digits_assembly = "".join( + [str(random.randint(0, 9)) for _ in range(5)]) serial_number_cell = ( f"{part_number_cell}{revision_cell}{static_segment}{random_digits_cell}" ) @@ -351,7 +389,10 @@ def execute_procedures(end): # Execute Assembly Tests with voltage sampling tests_assembly = [ (battery_connection, timedelta(seconds=0.1)), - (voltage_sampling_test, timedelta(seconds=10)), # New multi-dimensional test + ( + voltage_sampling_test, + timedelta(seconds=10), + ), # New multi-dimensional test (internal_resistance, timedelta(seconds=1)), (thermal_runaway_detection, timedelta(seconds=2)), (state_of_health, timedelta(seconds=2)),