Skip to main content
FixturFab

pytest-f3ts Configuration

Configure pytest-f3ts for your hardware test environment, including test limits, runner settings, and fixture parameters.

The configuration of a test plan is defined within a config.yml file. This file is optional but enables easy configuration of test limits, test runner settings, and fixture instrumentation.

The config.yml file is a YAML file containing a dictionary of configuration values.

Configuration Parameters#

test_name#

The name of the test plan used to identify it in the test runner's user interface. If not specified, the test plan directory name is used instead.

test_cases#

A dictionary of test cases containing test case limits. Keys are test case names; values are test limit values used to define pass/fail criteria.

Test case properties include:

  • test_id: The ID identifying the test case in the user interface
  • description: Information about the test case
  • min_limit: The minimum limit for pass/fail criteria
  • max_limit: The maximum limit for pass/fail criteria

runner_settings#

A dictionary of settings for the test runner (optional). Supported settings include:

  • display_name: The display name for the test plan in the user interface
  • stop_at_first_failure: Boolean determining whether testing stops after the first failure
  • autorun: Boolean for automatically starting the next run after completion
  • test_interlock: Boolean for interlock availability; attempts calling get_fixture_closed()
  • dut_count: Number of devices under test (DUTs) tested simultaneously
  • dut_grid: List of lists representing DUT grid layout (e.g., [2, 2] for 2x2 arrangement)
  • test_timeout: Maximum time in seconds before a test is marked as failed

fixture_settings#

A dictionary of settings for the test fixture (optional), set per slot using keys like slot_1, slot_2, etc.

Supported fixture settings include:

  • slot_id: The slot ID to display in the test runner
  • user_vars: Dictionary of user variables referenced in test cases, including:
    • CMD_DELAY: Delay in seconds after sending commands
    • PWR_DELAY: Delay in seconds after enabling power
    • Serial Port Settings (Port/Parity/Baud/Data/Stop)

Example config.yml File#

test_name: "fixtur-ctrl-test-plan"
 
test_cases:
  test_serial_number:
    test_id: "0.0"
    description: "Test that scanned serial number is valid. "
  test_12v_continuity:
    test_id: "1.1"
    min_limit: 0.25
    description: "Test that 12V_IN is not shorted to GND. "
  test_5v_continuity:
    test_id: "1.2"
    min_limit: 0.25
    description: "Test that 5V_IN is not shorted to GND. "
  test_vusb_5v0_voltage:
    test_id: "2.1.1"
    min_limit: 4.75
    max_limit: 5.25
    description: "Test that 5V0 is within limits. "
  test_vusb_3v3_voltage:
    test_id: "2.1.2"
    min_limit: 3.135
    max_limit: 3.465
    description: "Test that 3V3 is within limits. "
  test_vusb_1v1_voltage:
    test_id: "2.1.3"
    min_limit: 1.045
    max_limit: 1.155
    description: "Test that 1V1 is within limits. "
  test_vext_5v0_voltage:
    test_id: "2.2.1"
    min_limit: 4.75
    max_limit: 5.25
    description: "Test that 5V0 is within limits. "
  test_vext_3v3_voltage:
    test_id: "2.2.2"
    min_limit: 3.135
    max_limit: 3.465
    description: "Test that 3V3 is within limits. "
  test_vext_1v1_voltage:
    test_id: "2.2.3"
    min_limit: 1.045
    max_limit: 1.155
    description: "Test that 1V1 is within limits. "
  test_prog:
    test_id: "3.1"
    description: "Program Fixture Controller DUT with Latest Firmware. "
  test_version:
    test_id: "3.2"
    description: "Verify Firmware Version on DUT. "
    user_vars:
      FIRMWARE_VERSION: "3"
  test_usb_enables:
    description: "USB Tests. "
  test_usb_enable_all:
    test_id: "3.3.7"
    description: "Verify Serial Command to Disable/Enable all USB. "
  test_cycles:
    description: "Test Cycle Counters. "
  test_find_eeproms:
    test_id: "3.5"
    description: "Test eptest Command. "
  test_fixture_state:
    test_id: "3.6"
    description: "Test fixture Command. "
  test_gpio:
    description: "Test gpio Commands. "
  test_adc:
    description: "Test anget Command. "
  test_io:
    test_id: "4.0"
    description: "Test GPIO Expander. "
 
runner_settings:
    display_name: "fixtur-ctrl-test-plan"
    stop_at_first_failure: True
    autorun: False
    test_interlock: True
    dut_count: 1
    dut_grid: [ 1, 1 ]
 
fixture_settings:
  slot_1:
    slot_id: 1.1
    user_vars:
      CMD_DELAY: 0.1
      PWR_DELAY: 0.5
      BOOT_DELAY: 1
      SERIAL_PORT: '/dev/ttyACM0'
      SERIAL_BAUD: 57600
      SERIAL_TIMEOUT: 1

Next Steps#

Last updated:January 25, 2025