Skip to content

Test GUI & Additional Tests#16

Open
sanssecours wants to merge 60 commits into
mainfrom
sansbox
Open

Test GUI & Additional Tests#16
sanssecours wants to merge 60 commits into
mainfrom
sansbox

Conversation

@sanssecours

@sanssecours sanssecours commented Jul 1, 2026

Copy link
Copy Markdown
Member

Done

  • Merged main into norbert_sandbox (using the files from norbert_sandbox, when there were conflicts)
  • Addressed problems reported by Flake8
  • Addressed problems reported by mypy
  • Addressed problems reported by pylint

Norbert Leder and others added 30 commits March 5, 2026 13:33
Co-authored-by: aider (claude-sonnet-4-5) <[email protected]>
Co-authored-by: aider (claude-sonnet-4-5) <[email protected]>
…e Order-Nummern

Co-authored-by: aider (claude-sonnet-4-5) <[email protected]>
Co-authored-by: aider (claude-sonnet-4-5) <[email protected]>
- Add standardized measurement recording to JSON reports
- Include full time-series recordings for acceleration sensors
- Implement automatic report renaming using Base64-encoded MAC address
- Auto-enable JSON reporting for production and full test groups
- Add documentation for the data collection system
- use 'python -m pytest' in 'icotest' tool for reliable execution
- auto-enable JSON reporting for 'initial' test group
- fix JSON report metadata handling using a MetadataProxy to avoid serialization errors
- ensure reports are correctly renamed using the device's Base64 MAC address
- Implement prominent console output for device renaming in 'initial_setup'
- Add automatic log file generation for every test run in the 'reports/' directory
- Ensure operator instructions are clearly visible in CLI logs
- set default node name to 'Minion04' (newly flashed default)
- update streaming power average to 50mW (allowing 40mW minimum)
- Document simplified GUI architecture with Option A (combined dialog)
- Specify workflow for flash new device and retest existing
- Detail technical implementation approach with PySide6
- Include database schema and component specifications
- Main window with simple BackPack/Name configuration
- Test runner background thread with real-time log capturing
- Terminal output window
- Combined result dialog with Base64 MAC and test summary
- SQLite database for device tracking
- Add Scan button to discover Bluetooth sensor nodes
- Add dropdown to select device for retest
- Scan runs in background thread to avoid UI freezing
@sanssecours

Copy link
Copy Markdown
Member Author

@bertlderschreckliche Can you please check if everything (still) works as you expect? If that is the case, please feel free to merge your changes into main.

@sanssecours

Copy link
Copy Markdown
Member Author

The GUI does not seem to work for me. The behavior is the same as on the branch norbert_sandbox as far as I can tell.

Steps to Reproduce

  1. Rename the device to the Base64 version of its MAC address

    1. Determine MAC address

      uv run icon list
      # 🤖 Name: Test-STH, Number: 0, MAC Address: 94-DE-B8-ED-70-37, RSSI: -37
    2. Convert MAC address

      uv run python -c '
      from icotest.test.support.mac import convert_mac_base64
      print(convert_mac_base64("94-DE-B8-ED-70-37"))
      '
      # lN647XA3
    3. Rename device

      uv run rename -m 94-DE-B8-ED-70-37 'lN647XA3'
  2. Start GUI

    uv run icotest-gui
  3. Click on “Scan”

  4. Select device from drop-down menu

  5. Click on “Retest Existing Device (Skip flash)”

Expected Result

Testing takes place

Actual Result

Testing fails with the (Terminal) output below

macOS

ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
__main__.py: error: unrecognized arguments: --log
  inifile: /Users/rene/Documents/Work/Projects/ICOtronic/Software/ICOtest/pyproject.toml
  rootdir: /Users/rene/Documents/Work/Projects/ICOtronic/Software/ICOtest


Test Command:

  /Users/rene/Documents/Work/Projects/ICOtronic/Software/ICOtest/.venv/bin/python3 -m pytest --log-cli-level WARNING --pyargs icotest.test --log-file reports/icotest_2026-07-02_13-20_pytest.log --log-file-level INFO --log warning --json-report -m power or sensor

Windows

ERROR: usage: python.exe -m pytest [options] [file_or_dir] [file_or_dir] [...]
python.exe -m pytest: error: unrecognized arguments: --log
  inifile: C:\Users\rene\Documents\Projects\ICOtronic\ICOtest\pyproject.toml
  rootdir: C:\Users\rene\Documents\Projects\ICOtronic\ICOtest


Test Command:

  C:\Users\rene\Documents\Projects\ICOtronic\ICOtest\.venv\Scripts\python.exe -m pytest --log-cli-level WARNING --pyargs icotest.test --log-file reports/icotest_2026-07-02_12-59_pytest.log --log-file-level INFO --log warning --json-report -m power or sensor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants