1- # Copyright: (c) 2024, Intel Corporation
1+ # Copyright (c) 2024 Intel Corporation
2+ # SPDX-License-Identifier: Apache-2.0
23
34import logging
45
@@ -45,17 +46,31 @@ def test_power_harness(probe_class: PowerMonitor, test_data, request, dut: Devic
4546 padding = measurements_dict ['peak_padding' ],
4647 )
4748
48- # # Convert measured values from amps to milliamps for comparison
49+ # Convert measured values from amps to milliamps for comparison
50+ # Measured states: ['idle', 'state 0', 'state 1', 'state 2', 'active']
4951 rms_values_in_milliamps = [value * 1e3 for value in rms_values_measured ]
5052
51- # # Log the calculated values in milliamps for debugging purposes
53+ # Log the calculated values in milliamps for debugging purposes
5254 logger .debug (f"Measured RMS values in mA: { rms_values_in_milliamps } " )
55+ logger .debug (f"Expected RMS values in mA: { measurements_dict ['expected_rms_values' ]} " )
5356
5457 tuples = zip (measurements_dict ['expected_rms_values' ], rms_values_in_milliamps , strict = False )
58+ if not tuple :
59+ pytest .skip ('Measured values not provided' )
60+
61+ logger .debug ("Check if measured values are in tolerance" )
62+ measure_passed = True
5563 for expected_rms_value , measured_rms_value in tuples :
56- assert is_within_tolerance (
64+ if not is_within_tolerance (
5765 measured_rms_value , expected_rms_value , measurements_dict ['tolerance_percentage' ]
58- )
66+ ):
67+ logger .error (f"Measured RMS value { measured_rms_value } mA is out of tolerance." )
68+ measure_passed = False
69+
70+ assert measure_passed , (
71+ f"Measured RMS value in mA is out of tolerance "
72+ f"{ measurements_dict ['tolerance_percentage' ]} %"
73+ )
5974
6075
6176def is_within_tolerance (measured_rms_value , expected_rms_value , tolerance_percentage ) -> bool :
@@ -74,21 +89,27 @@ def is_within_tolerance(measured_rms_value, expected_rms_value, tolerance_percen
7489 tolerance = (tolerance_percentage / 100 ) * expected_rms_value
7590
7691 # Log the values for debugging purposes
77- logger .debug (f"Expected RMS: { expected_rms_value :.2f } mA" )
78- logger .debug (f"Tolerance: { tolerance :.2f } mA" )
79- logger .debug (f"Measured RMS: { measured_rms_value :.2f } mA" )
92+ logger .debug (f"Expected RMS: { expected_rms_value :.3f } mA" )
93+ logger .debug (f"Tolerance: { tolerance :.3f } mA" )
94+ logger .debug (f"Measured RMS: { measured_rms_value :.3f } mA" )
8095 logger .info (
8196 'RECORD: ['
8297 '{'
83- f'"expected_rms_ua": { expected_rms_value :.2f } '
98+ f'"expected_rms_ua": { expected_rms_value :.3f } '
8499 '}'
85100 ',{'
86- f'"tolerance_ua": { tolerance :.2f } '
101+ f'"tolerance_ua": { tolerance :.3f } '
87102 '}'
88103 ',{'
89- f'"measured_rms_ua": { measured_rms_value :.2f } '
104+ f'"measured_rms_ua": { measured_rms_value :.3f } '
90105 '}'
91106 ']'
92107 )
93108 # Check if the measured value is within the range of expected ± tolerance
94- return (expected_rms_value - tolerance ) < measured_rms_value < (expected_rms_value + tolerance )
109+ if (expected_rms_value - tolerance ) < measured_rms_value < (expected_rms_value + tolerance ):
110+ return True
111+
112+ logger .error (
113+ f"Measured RMS value: { measured_rms_value :.3f} mA is out of tolerance: { tolerance :.3f} mA"
114+ )
115+ return False
0 commit comments