Files
0003-SDG2042X-PyQt-GUI-for-…/script/archive/V0.2.2/TEST_PROCEDURE_v0.2.2_Issue_10.md

1.8 KiB

Test Procedure — v0.2.2 Issue #10 Sweep fallback timing

Purpose

Verify that sweep fallback no longer depends on an immediate SYST:ERR? after the first SWWV write.

The new logic should do this sequence:

  1. *CLS
  2. send first sweep command
  3. wait on *OPC?
  4. then read SYST:ERR?
  5. only if needed, retry with SPAC

Test files

  • SDG2042X_V0.2.2.py
  • test_v0.2.2_Issue_10_sweep_fallback.py

Preconditions

  • SDG reachable via LAN on port 5025
  • No other program connected to the instrument
  • Output load/test setup safe for a short sweep test

Command

Example:

python3 test_v0.2.2_Issue_10_sweep_fallback.py --ip 192.168.178.50 --channel C1

Optional custom values:

python3 test_v0.2.2_Issue_10_sweep_fallback.py \
  --ip 192.168.178.50 \
  --channel C1 \
  --start 1000 \
  --stop 5000 \
  --time 1.0 \
  --type LIN

What the script checks

  1. Socket connection and *IDN?
  2. Safe baseline setup (BSWV to sine)
  3. Direct one-form check for:
    • WAV,...
    • SPAC,...
  4. Production-like bug #10 helper
  5. Stale-error immunity:
    • inject old error
    • run helper again
    • helper must still succeed because it starts with *CLS

Pass criteria

  • critical tests passed: True
  • exit code 0
  • no final [ERR] style failures from the script

Interpretation

  • If only one of the direct forms works, that is acceptable. The important point is that the production-like helper succeeds.
  • If the stale-error test fails, the error-clear / sync sequence is still not robust enough.
  • If both direct forms fail, then bug #10 may be masked by a larger sweep syntax compatibility issue.

Notes

This test script intentionally mirrors the current GUI sweep token style (WAV, STAR) so it checks the real regression path for Issue #10, not a separate protocol cleanup.