Test Husky
In [1]:
Copied!
LONG_TEST='No'
PLATFORM = 'CW308_SAM4S'
SS_VER = 'SS_VER_2_1'
VERSION = 'HARDWARE'
allowable_exceptions = None
CRYPTO_TARGET = 'TINYAES128C'
SCOPETYPE = 'OPENADC'
LONG_TEST='No'
PLATFORM = 'CW308_SAM4S'
SS_VER = 'SS_VER_2_1'
VERSION = 'HARDWARE'
allowable_exceptions = None
CRYPTO_TARGET = 'TINYAES128C'
SCOPETYPE = 'OPENADC'
In [2]:
Copied!
import os
import chipwhisperer as cw
import time
import pytest
test_args = ["pytest", "-v", "-rs", "../../tests/test_husky.py", "-k", "not trace"]
if LONG_TEST != "No":
test_args.append("--fulltest")
scope = cw.scope(hw_location=(5, 8))
env = dict(os.environ)
env["HUSKY_HW_LOC"] = str(scope._getNAEUSB().hw_location())
env["HUSKY_TARGET_PLATFORM"] = "sam4s"
#target = cw.target(scope)
scope.default_setup()
time.sleep(0.25)
#cw.naeusb_logger.setLevel(cw.logging.DEBUG)
cw.program_target(scope, cw.programmers.SAM4SProgrammer, "../../firmware/mcu/simpleserial-trace/simpleserial-trace-CW308_SAM4S.hex")
scope.dis()
import os
import chipwhisperer as cw
import time
import pytest
test_args = ["pytest", "-v", "-rs", "../../tests/test_husky.py", "-k", "not trace"]
if LONG_TEST != "No":
test_args.append("--fulltest")
scope = cw.scope(hw_location=(5, 8))
env = dict(os.environ)
env["HUSKY_HW_LOC"] = str(scope._getNAEUSB().hw_location())
env["HUSKY_TARGET_PLATFORM"] = "sam4s"
#target = cw.target(scope)
scope.default_setup()
time.sleep(0.25)
#cw.naeusb_logger.setLevel(cw.logging.DEBUG)
cw.program_target(scope, cw.programmers.SAM4SProgrammer, "../../firmware/mcu/simpleserial-trace/simpleserial-trace-CW308_SAM4S.hex")
scope.dis()
scope.gain.gain changed from 0 to 22 scope.gain.db changed from 15.0 to 25.091743119266056 scope.adc.samples changed from 131124 to 5000 scope.clock.clkgen_freq changed from 0 to 7370129.87012987 scope.clock.adc_freq changed from 0 to 29480519.48051948 scope.clock.extclk_monitor_enabled changed from True to False scope.clock.extclk_tolerance changed from 1144409.1796875 to 13096723.705530167 scope.io.tio1 changed from serial_tx to serial_rx scope.io.tio2 changed from serial_rx to serial_tx scope.io.hs2 changed from None to clkgen scope.glitch.phase_shift_steps changed from 0 to 4592 scope.trace.capture.trigger_source changed from trace trigger, rule #0 to firmware trigger
Out[2]:
True
In [3]:
Copied!
import subprocess
result = subprocess.run(test_args, capture_output=True, env=env)
import subprocess
result = subprocess.run(test_args, capture_output=True, env=env)
In [4]:
Copied!
print(result.stdout.decode().replace(r"\n", "\n"))
print(result.stdout.decode().replace(r"\n", "\n"))
============================= test session starts ============================== platform linux -- Python 3.10.2, pytest-8.3.4, pluggy-1.5.0 -- /home/testserveradmin/.pyenv/versions/cwtests/bin/python cachedir: .pytest_cache rootdir: /home/testserveradmin/chipwhisperer/tests configfile: pytest.ini plugins: anyio-4.8.0 collecting ... ************************************************************************************** * IMPORTANT NOTE: * * This script is intended for basic regression testing of Husky during * * development. If you are having issues connecting to your Husky or target * * device, running this script is unlikely to provide you with useful information. * * Instead, seek assistance on forum.newae.com or discord by providing details of * * your setup (including the target), and the full error log from your Jupyter * * notebook. * * * * While this test can be run on a stand-alone Husky, some of the tests require a * * target with a specific FW (which supports segmenting and trace): * * simpleserial-trace. * * The expected .hex file and this script should be updated together. * * If this FW is recompiled, the trace.set_isync_matches() call will have to be * * modified with updated instruction addresses. * ************************************************************************************** hw_loc added (5, 8) Husky target platform sam4s collected 172 items / 6 deselected / 166 selected ../../tests/test_husky.py::test_fpga_version PASSED ../../tests/test_husky.py::test_fw_version PASSED ../../tests/test_husky.py::test_reg_rw[16-4-1000-SAMPLES] PASSED ../../tests/test_husky.py::test_reg_rw[4-8-1000-ECHO] PASSED ../../tests/test_husky.py::test_target_power PASSED ../../tests/test_husky.py::test_internal_ramp[8-0-internal-20000000.0-True-1-8-False-1-0-1-smallest_capture] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-20000000.0-True-1-8-False-1-0-1-maxsamples8_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-20000000.0-True-1-12-False-1-0-1-maxsamples12] PASSED ../../tests/test_husky.py::test_internal_ramp[300-0-internal-20000000.0-True-1-8-False-10-1000-1-evensegments8_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[50-0-internal-20000000.0-True-1-8-False-100-100-1-oddsegments8_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[300-0-internal-20000000.0-True-1-12-False-10-1000-1-evensegments12_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[50-0-internal-20000000.0-True-1-12-False-100-100-1-oddsegments12] PASSED ../../tests/test_husky.py::test_internal_ramp[300-30-internal-20000000.0-True-1-12-False-20-500-1-presamplesegments] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-10000000.0-True-1-12-False-1-0-1-slow_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-80000000.0-True-1-12-False-1-0-1-fast_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-max-True-1-12-False-1-0-10-fastest] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-over2-True-1-12-False-1-0-1-overclocked] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-5000000.0-True-4-12-False-1-0-1-4xslow_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-50000000.0-True-4-12-False-1-0-1-4xfast] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCramp-20000000.0-True-1-12-False-1-0-1-ADCslow] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCramp-max-True-1-12-False-1-0-10-ADCfast_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCramp-50000000.0-True-4-12-False-1-0-1-ADC4xfast] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCramp-over2-True-1-12-False-1-0-1-ADCoverclocked] PASSED ../../tests/test_husky.py::test_internal_ramp[8192-0-ADCramp-10000000.0-True-1-12-False-12-10000-1-ADClongsegments_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[64-0-ADCramp-max-True-1-12-False-1536-400-10-ADCfastsegments] PASSED ../../tests/test_husky.py::test_internal_ramp[300-30-ADCramp-max-True-1-12-False-327-400-10-ADCfastsegmentspresamples] PASSED ../../tests/test_husky.py::test_internal_ramp[300-30-ADCramp-over2-True-1-12-False-327-400-1-ADCoverclockedsegmentspresamples] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCalt-20000000.0-True-1-12-False-1-0-10-ADCaltslow_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCalt-max-True-1-12-False-1-0-10-ADCaltfast] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-ADCalt-over2-True-1-12-False-1-0-1-ADCaltoverclocked_SLOW] SKIPPED ../../tests/test_husky.py::test_internal_ramp[500-0-internal-20000000.0-False-1-12-False-1-0-1-slowreads] PASSED ../../tests/test_husky.py::test_internal_ramp[max-0-internal-20000000.0-False-1-12-False-1-0-1-maxslowreads_SLOW] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[30-15-48000000.0-56000000.0-1000000.0-internal-True-1-12-False-327-100-50-int_segmentspresamples_slow] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[30-15-100000000.0-108000000.0-1000000.0-internal-True-1-12-False-327-100-50-int_segmentspresamples_fast] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[30-15-10000000.0-over1-5000000.0-internal-True-1-12-False-327-100-2-int_segmentspresamples_full] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[300-30-48000000.0-56000000.0-1000000.0-internal-True-1-12-False-327-400-10-int_segmentspresamples_long] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[8192-0-10000000.0-over1-5000000.0-ADCramp-True-1-12-False-12-100000-2-longsegments] SKIPPED ../../tests/test_husky.py::test_adc_freq_sweep[64-0-10000000.0-over1-5000000.0-ADCramp-True-1-12-False-1536-400-2-shortsegments] SKIPPED ../../tests/test_husky.py::test_glitch_offset[10000000.0-0.1-0-40-] PASSED ../../tests/test_husky.py::test_glitch_offset[10000000.0-0.1-400-40-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_offset[10000000.0-0.1-800-40-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_offset[10000000.0-0.1-1600-40-] PASSED ../../tests/test_husky.py::test_glitch_offset[20000000.0-0.2-200-20-] PASSED ../../tests/test_husky.py::test_glitch_offset[20000000.0-0.2-500-20-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_offset[100000000.0-0.6-0-5-] PASSED ../../tests/test_husky.py::test_glitch_offset[100000000.0-0.6-50-5-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_offset[100000000.0-0.6-100-5-] PASSED ../../tests/test_husky.py::test_glitch_width[0-40-] PASSED ../../tests/test_husky.py::test_glitch_width[400-40-] FAILED ../../tests/test_husky.py::test_glitch_width[800-40-] PASSED ../../tests/test_husky.py::test_glitch_width[1600-40-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[10000000.0-0-40-2-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[10000000.0-600-40-2-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_width[10000000.0-1200-40-2-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[10000000.0--1200-40-2-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[10000000.0-0-20-4-SLOW] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_width[50000000.0-200-8-10-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[100000000.0-400-4-20-] PASSED ../../tests/test_husky.py::test_glitch_output_sweep_width[200000000.0-600-2-40-SLOW] SKIPPED ../../tests/test_husky.py::test_missing_glitch_sweep_offset[10000000.0-600000000.0-100-1000-1-5-20-1-] SKIPPED ../../tests/test_husky.py::test_missing_glitch_sweep_offset[10000000.0-600000000.0-100-1000-10-5-20-1-] SKIPPED ../../tests/test_husky.py::test_missing_glitch_sweep_offset[15000000.0-600000000.0-100-1000-10-5-20-1-] SKIPPED ../../tests/test_husky.py::test_missing_glitch_sweep_offset[25000000.0-600000000.0-100-1000-10-5-10-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0-200-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0--200-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0-1000-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0--1000-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0-3000-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0--3000-35-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0-500-30-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[10000000.0-500-20-2-] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[50000000.0-100-8-10-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[50000000.0-200-8-10-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[100000000.0-100-4-20-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[100000000.0-150-4-20-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[125000000.0-50-4-30-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_sweep_offset[125000000.0-70-4-30-may_fail] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[10000000.0-600000000.0-1-20-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[10000000.0-1200000000.0-1-20-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[10000000.0-600000000.0-2-20-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[50000000.0-600000000.0-1-8-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[100000000.0-600000000.0-1-4-1-] SKIPPED ../../tests/test_husky.py::test_glitch_output_doubles[100000000.0-600000000.0-2-4-1-] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[900000-0-internal-10000000.0-True-1-8-True-65536-65536-True-1-0-midstream] PASSED ../../tests/test_husky.py::test_target_internal_ramp[900000-0-internal-8000000.0-True-1-8-True-65536-65536-True-1-0-slowstream] PASSED ../../tests/test_husky.py::test_target_internal_ramp[900000-0-internal-5000000.0-True-1-12-True-65536-65536-True-1-0-slowerstream12] PASSED ../../tests/test_husky.py::test_target_internal_ramp[900000-0-internal-5000000.0-True-1-8-True-65536-65536-True-1-0-slowerstream] PASSED ../../tests/test_husky.py::test_target_internal_ramp[4000000-0-internal-5000000.0-True-1-8-True-65536-65536-True-1-0-slowerstream_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[200-0-internal-20000000.0-True-1-8-False-65536-65536-True-1-0-quick] PASSED ../../tests/test_husky.py::test_target_internal_ramp[max-0-internal-15000000.0-True-1-12-False-65536-65536-True-1-0-maxsamples12] PASSED ../../tests/test_husky.py::test_target_internal_ramp[400000-0-internal-20000000.0-True-1-8-True-65536-65536-True-1-0-quickstream8] PASSED ../../tests/test_husky.py::test_target_internal_ramp[2000000-0-internal-16000000.0-True-1-12-True-65536-65536-True-1-0-longstream12_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[6000000-0-internal-16000000.0-True-1-12-True-65536-65536-False-1-0-vlongstream12_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[500000-0-internal-20000000.0-True-1-12-True-16384-65536-True-1-0-over_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[3000000-0-internal-24000000.0-True-1-12-True-65536-65536-False-1-0-overflow_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[200000-0-internal-15000000.0-True-1-12-True-65536-65536-True-1-0-postfail_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[2000-0-internal-10000000.0-True-1-8-False-65536-65536-True-1-0-back2nostream_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[500000-0-internal-12000000.0-False-1-12-True-65536-65536-True-1-0-slowreads1_SLOW] SKIPPED ../../tests/test_husky.py::test_target_internal_ramp[2000000-0-internal-10000000.0-False-1-12-True-65536-65536-True-1-0-slowreads2_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[0-0-8-False-7370000.0-4-False-20-0-segments_tiny] PASSED ../../tests/test_husky.py::test_segments[0-0-90-False-7370000.0-4-False-20-0-segments_trigger_no_offset] PASSED ../../tests/test_husky.py::test_segments[0-10-90-False-7370000.0-4-False-20-0-segments_trigger_no_offset_presamp] PASSED ../../tests/test_husky.py::test_segments[10-0-90-False-7370000.0-4-False-20-0-segments_trigger_offset10_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[50-0-90-False-7370000.0-4-False-20-0-segments_trigger_offset50_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[50-20-90-False-7370000.0-4-False-20-0-segments_trigger_offset50_presamp] PASSED ../../tests/test_husky.py::test_segments[0-10-33-False-7370000.0-4-False-max-0-segments_trigger_max_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[0-0-100-True-7370000.0-4-False-2000-0-segments_trigger_stream_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[0-0-90-False-7370000.0-4-True-20-32500-segments_counter_no_offset] PASSED ../../tests/test_husky.py::test_segments[0-30-90-False-7370000.0-4-True-20-32500-segments_counter_no_offset_presamp_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[10-0-90-False-7370000.0-4-True-20-32500-segments_counter_offset10_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[50-0-90-False-7370000.0-4-True-20-32500-segments_counter_offset50_SLOW] SKIPPED ../../tests/test_husky.py::test_segments[50-40-90-False-7370000.0-4-True-20-32500-segments_counter_offset50_presamp] PASSED ../../tests/test_husky.py::test_sad_trigger[10000000.0-1-8-250-0-50-8bits] PASSED ../../tests/test_husky.py::test_sad_trigger[10000000.0-1-12-250-0-50-12bits] PASSED ../../tests/test_husky.py::test_sad_trigger[10000000.0-1-8-250-0-10-8bits_SLOW] SKIPPED ../../tests/test_husky.py::test_sad_trigger[10000000.0-10-8-250-0-50-fast_SLOW] SKIPPED ../../tests/test_husky.py::test_sad_trigger[10000000.0-18-8-250-0-50-faster_SLOW] SKIPPED ../../tests/test_husky.py::test_sad_trigger[10000000.0-max-8-250-0-50-fastest] PASSED ../../tests/test_husky.py::test_sad_trigger[10000000.0-over-8-250-0-50-overclocked_SLOW] SKIPPED ../../tests/test_husky.py::test_multiple_sad_trigger[10000000.0-4-8-0-150-2000-10-2700-20-regular] PASSED ../../tests/test_husky.py::test_multiple_sad_trigger[10000000.0-4-8-1-100-500-10-2700-20-half] PASSED ../../tests/test_husky.py::test_multiple_sad_trigger[10000000.0-20-8-0-300-800-10-13500-20-fast] PASSED ../../tests/test_husky.py::test_uart_trigger[10000000.0-tio1-r7DF7-None-8-10-tio1_10M] PASSED ../../tests/test_husky.py::test_uart_trigger[10000000.0-tio1-r7DF7xxx-mask1-5-10-tio1_10M] PASSED ../../tests/test_husky.py::test_uart_trigger[10000000.0-tio1-r7Dxxxxx-mask2-3-10-tio1_10M] PASSED ../../tests/test_husky.py::test_uart_trigger[10000000.0-tio2-p000000-None-8-10-tio2_10M] PASSED ../../tests/test_husky.py::test_uart_trigger[20000000.0-tio1-r7DF7-None-8-10-tio1_20M] PASSED ../../tests/test_husky.py::test_uart_trigger[20000000.0-tio2-p000000-None-8-10-tio2_20M] PASSED ../../tests/test_husky.py::test_adc_trigger[1-0.9-12-3-] PASSED ../../tests/test_husky.py::test_adc_trigger[10-0.9-12-3-] PASSED ../../tests/test_husky.py::test_adc_trigger[5-0.9-8-3-SLOW] SKIPPED (use --fulltest to run) ../../tests/test_husky.py::test_adc_trigger[5-0.5-8-3-] PASSED ../../tests/test_husky.py::test_adc_trigger[1-0.5-12-3-SLOW] SKIPPED ../../tests/test_husky.py::test_adc_trigger[10-0.5-12-3-SLOW] SKIPPED ../../tests/test_husky.py::test_edge_trigger[tio1-2-4-True-3-] PASSED ../../tests/test_husky.py::test_edge_trigger[tio1-4-4-True-3-SLOW] SKIPPED ../../tests/test_husky.py::test_edge_trigger[tio1-100-4-False-50-] PASSED ../../tests/test_husky.py::test_edge_trigger[tio2-3-4-True-10-SLOW] SKIPPED ../../tests/test_husky.py::test_edge_trigger[tio2-5-4-True-10-] PASSED ../../tests/test_husky.py::test_edge_trigger[tio2-50-4-False-50-SLOW] SKIPPED ../../tests/test_husky.py::test_userio_edge_triggers[pins0-260-3-] SKIPPED ../../tests/test_husky.py::test_glitch_modes SKIPPED (use --fulltest to run) ../../tests/test_husky.py::test_glitch_trigger[basic-pattern0-100-basic_glitch_arm_active] SKIPPED ../../tests/test_husky.py::test_glitch_trigger[basic-pattern1-100-basic_glitch_arm_inactive] SKIPPED ../../tests/test_husky.py::test_glitch_trigger[edge_counter-pattern2-100-edge_glitch_arm_inactive] SKIPPED ../../tests/test_husky.py::test_glitch_trigger[edge_counter-pattern3-100-edge_glitch_arm_active] SKIPPED ../../tests/test_husky.py::test_pll[5000000.0-1-False-40-1-20-CW305_ref] SKIPPED ../../tests/test_husky.py::test_pll[10000000.0-1-False-20-1-20-CW305_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[15000000.0-1-False-16-1-20-CW305_ref] SKIPPED ../../tests/test_husky.py::test_pll[50000000.0-1-False-6-0-20-CW305_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[75000000.0-1-False-4-0-20-CW305_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[5000000.0-4-False-20-1-20-CW305_ref_mul4] SKIPPED ../../tests/test_husky.py::test_pll[15000000.0-3-False-16-1-20-CW305_ref_mul3] SKIPPED ../../tests/test_husky.py::test_pll[20000000.0-2-False-15-1-20-CW305_ref_mul2_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[25000000.0-2-False-12-0-20-CW305_ref_mul2_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[5000000.0-1-True-20-1-20-xtal_ref] PASSED ../../tests/test_husky.py::test_pll[10000000.0-1-True-20-1-20-xtal_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[15000000.0-1-True-16-1-20-xtal_ref] PASSED ../../tests/test_husky.py::test_pll[50000000.0-1-True-6-1-20-xtal_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[75000000.0-1-True-4-1-20-xtal_ref_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[5000000.0-4-True-40-1-20-xtal_ref_mul4] PASSED ../../tests/test_husky.py::test_pll[15000000.0-3-True-16-1-20-xtal_ref_mul3] PASSED ../../tests/test_husky.py::test_pll[20000000.0-2-True-15-1-20-xtal_ref_mul2_SLOW] SKIPPED ../../tests/test_husky.py::test_pll[25000000.0-2-True-12-1-20-xtal_ref_mul2_SLOW] SKIPPED ../../tests/test_husky.py::test_xadc PASSED ../../tests/test_husky.py::test_finish PASSED =================================== FAILURES =================================== __________________________ test_glitch_width[400-40-] __________________________ ../../tests/test_husky.py:834: in test_glitch_width assert (ratio > offset_percent - margin) and (ratio < offset_percent + margin), "Ratio out of bounds (%f)" % ratio E AssertionError: Ratio out of bounds (0.705078) E assert (0.705078125 > (0.7619047619047619 - 0.05)) =========================== short test summary info ============================ SKIPPED [12] ../../tests/test_husky.py:589: use --fulltest to run SKIPPED [6] ../../tests/test_husky.py:653: use --fulltest to run SKIPPED [4] ../../tests/test_husky.py:780: use --fulltest to run SKIPPED [3] ../../tests/test_husky.py:842: use --fulltest to run SKIPPED [4] ../../tests/test_husky.py:899: use --fulltest to run SKIPPED [14] ../../tests/test_husky.py:943: use --fulltest to run SKIPPED [6] ../../tests/test_husky.py:1005: use --fulltest to run SKIPPED [9] ../../tests/test_husky.py:1048: use --fulltest to run SKIPPED [7] ../../tests/test_husky.py:1131: use --fulltest to run SKIPPED [4] ../../tests/test_husky.py:1316: use --fulltest to run SKIPPED [3] ../../tests/test_husky.py:1503: use --fulltest to run SKIPPED [3] ../../tests/test_husky.py:1542: use --fulltest to run SKIPPED [1] ../../tests/test_husky.py:1602: use --fulltest to run SKIPPED [1] ../../tests/test_husky.py:1636: use --fulltest to run SKIPPED [4] ../../tests/test_husky.py:1773: use --fulltest to run SKIPPED [4] ../../tests/test_husky.py:1841: requires cw305 test platform SKIPPED [10] ../../tests/test_husky.py:1836: use --fulltest to run ====== 1 failed, 70 passed, 95 skipped, 6 deselected in 92.38s (0:01:32) =======
In [5]:
Copied!
assert result.returncode == 0
assert result.returncode == 0
--------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Cell In[5], line 1 ----> 1 assert result.returncode == 0 AssertionError:
In [ ]:
Copied!