Project details
Xaloqi TestLab Core is an Apache-2.0 Python UDS client, virtual ECU and YAML campaign runner. Run diagnostic flows locally or in CI without physical ECU hardware, including session control, SecurityAccess, DID access and DTC operations. Start with a one-command demo, then define repeatable campaigns for your own diagnostic software.
Xaloqi TestLab Core is a free, open-source Python-based UDS (ISO 14229) client, ECU simulator, and campaign runner, allowing seamless conducting of automotive diagnostics without the need for any physical hardware or commercial diagnostic tools. This project simplifies UDS testing by simulating ECUs in a virtual environment, making it ideal for developers and engineers who need to validate diagnostic commands.
Quickly start testing UDS flows using the following command:
pipx run --spec xaloqi-tester xaloqi-sim --demo
This command launches an in-process simulated ECU and runs real UDS dialogues, producing results that reflect actual ECU interactions.
For installation, utilize:
pip install xaloqi-tester
xaloqi-sim --demo
With a focus on creating an efficient testing environment prior to hardware availability, TestLab Core provides a streamlined process involving:
Execute complex test campaigns with the following command:
testlab-run --config testlab_config.yaml \
--campaign campaigns/standalone_validation.yaml \
--job basic_validation --virtual --json reports/run.json
testlab analyze --results reports/run.json
Create and manage UDS test scenarios, including SecurityAccess, memory read/writes, DTC handling, and firmware transfers.
Unlike traditional stacks like udsoncan and python-can, which require an existing ECU for operations, TestLab Core is crafted as a comprehensive test harness that allows preemptive testing. This project delivers a campaign runner augmented with an ECU simulator, facilitating the development of repeatable tests that can seamlessly integrate with your CI/CD pipelines.
TestLab Core proves invaluable for automated testing in CI environments, allowing the execution of UDS tests without relying on physical ECU hardware. A simple GitHub Actions setup can be easily established:
name: UDS tests
on: [push, pull_request]
jobs:
uds:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install xaloqi-tester
- run: |
mkdir -p reports
testlab-run --config testlab_config.yaml \
--campaign campaigns/standalone_validation.yaml \
--job basic_validation --virtual --json reports/run.json
- run: testlab analyze --results reports/run.json
Xaloqi TestLab Core enables automotive software developers, diagnostic engineers, and embedded systems professionals to validate their CAN diagnostic commands before deployment on real hardware, enhancing productivity and promoting thorough testing practices. Learn more about building and testing with Xaloqi by exploring the project on GitHub, or try out the features by running simple commands today.
Comments
0Start the conversation
Share the first comment.