François d3c5bd01e5 lua and python bin detection rationalized: bins.py module created.
Added some api accessible from python and lua sub_processes. Now the tests only access to py_func.tm instead of direct api.testium module access.

Corrected some f"xxx" to allow working with old python (bookworm).

Changed param.yaml of the test to allow lua to work in all situations.

Various other small fixes for frozen app, wheel.

Tested in all situations, and OK. Ready for tag !

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 10:16:56 +02:00
2026-04-18 11:15:49 +02:00
2026-05-01 07:58:22 +02:00
2025-12-29 10:46:05 +01:00
2026-01-02 11:55:52 +01:00
2026-01-02 11:55:52 +01:00
2025-12-29 10:46:05 +01:00

Documentation

See here.

License

Copyright (c) 2025-2026 François Dausseur.

testium is distributed under the European Union Public Licence v. 1.2 (EUPL-1.2) — see the LICENSE file for the full text.

SPDX identifier: EUPL-1.2

Contributions are accepted under the same licence (inbound = outbound). See CONTRIBUTING.md for details.

run testium

From the root path, on windows cmd:

run.bat

On windows powershell:

run.ps1

On linux:

./run.sh

The virtual environment is created if needed and testium is started.

Manual setup

A python virtual environment should be created:

python3 -m venv <testium_venv>

Requirements

In the virtual environment, the following modules must be installed:

  • pyside6
  • pyserial
  • pyyaml
  • pexpect
  • gitpython
  • jinja2
  • colorama
  • matplotlib
  • junit-xml
  • lxml

A requirements.txt file is also available in the git repository in the path testium/src/.

run testium

from the testium path, execute

python3 -m src/testium

Doc generation

Install sphinx

pip install sphinx linuxdoc

Generate the doc

Execute

doc/manual/sphinx/./build_doc.sh

This command works if texlive package has been installed on the system. It can be done by invoking the following command.

sudo apt install texlive-full

QT GUI

QT GUI modification

Open the ".ui" file with qtcreator and modify the gui. Then regenerate the python code.

On linux, a helper script has been created: scripts/./qt_generate.sh

Debugging

In order to debug testium or your python script executed within testium.

In VSCODE

This is the prefered method :

  1. Create a debug configuration like the following:
    "configurations": [
        {
            "name": "Python : testium",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/src/testium",
            "console": "integratedTerminal",
            "args": ["-g"],
            "justMyCode": true
        },
    ]
  1. Install debugpy module in python

    python -m pip install debugpy

  2. Then get to the "RUN AND DEBUG" tab and press the play button.

  3. A testium window will pops up ; start execution of your tum.

  4. Do not forget to put breakpoints where you want to investigate.

Icons

Icons are coming from the following site: https://github.com/free-icons/free-icons.git

testium Release

Pre-requisite

A python virtual environment must have been set as described above.

Install pyinstaller

Install pyinstaller package using pip.

Generate the binary package

The procedure for a binary release is as follows:

  1. update the release_note.txt file
  2. modify the version in src/VERSION file
  3. be sure that the documentation is up to date, and if not execute doc/manual/sphinx/build_doc.sh script
  4. push modifications and create a tag with the new version on the git repository
  5. generate an executable file by calling package/pyinstaller/./build.sh
  6. run the complete validation test for each generated binary
  7. check that all the validation results are OK

Troubleshooting

The testium exe crashes wl_proxy_marshal_flags

Error message

/testium: symbol lookup error: /tmp/_MEIOhDCPF/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags

Solution

Set the appropriate environment variable

export QT_QPA_PLATFORM=xcb
testium

xcb plugin missing

Error message

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

Solution

A package is missing

sudo apt install libxcb-cursor0
sudo apt-get install libicu-dev
sudo apt-get install libxcb-cursor-dev

The testium appimage crashes when opening a file

This is usually because wayland is defined as the default X server.

To change it :

  • Disable Wayland by uncommenting WaylandEnable=false in the /etc/gdm3/daemon.conf

  • Add QT_QPA_PLATFORM=xcb in /etc/environment

  • After a reboot, check that the environment variable value returns x11:

    $ echo $XDG_SESSION_TYPE x11

2026-06-01 23:48:56 +02:00
Languages
Python 97%
Shell 1.7%
Lua 0.6%
Batchfile 0.5%
PowerShell 0.2%