Qst (pronounced /kwɛst/) is a firmware testing automation suite.
-
Declarative markup language (QML)
Write readable test cases that are easy to understand and to maintain. Encapsulate complex functionality in components and re-use them without duplicating code.
-
Concurrent execution
Express concurrent operations and complex constraints in addition to a traditional sequential check-marking approach. This speeds up test execution and allows ongoing validity checks.
-
Separate functionality from configuration
Develop test cases on your local computer and execute them on other machines and different target hardware without modifying the test code. Keep the project configuration separate from the project sources by specifying profiles.
The combination of these features makes Qst a compelling alternative to any purely script-based solution.
User documentation is available at https://qst.readthedocs.org
Qst is based upon the Qt framework and Qbs is used as the build system.
It is recommended to use Docker images for building as it is shown in the CI script. You may use the following instructions if you still want to build in a conventional environment.
Use the Docker images available at https://github.com/rweickelt/docker-qt or alternatively:
-
Prerequisites:
-
A Qbs build profile for your Qt installation should have been automatically created by Qt Creator. If you are using Qbs stand-alone, have a look at the Qbs documentation and also watch the Qbs introduction video.
-
Build and install. Run also regression tests.
qbs install --install-root /opt/qst --file qst-project.qbs \ profile:myqtprofile project.runAutotest:true
Use the Docker image described in the Dockerfile or alternatively:
-
Prerequisites:
- SimpleLink CC13x0 SDK >= 1.50.00
- Uniflash >= 4.2
- GCC ARM toolchain
- Qbs >= 1.9.1 or QtCreator >= 4.4
-
Create a Qbs build profile for the ARM toolchain:
qbs setup-toolchains --type gcc /path/to/compiler gcc_arm_6 qbs config profiles.gcc_arm_6.qbs.architecture arm qbs config profiles.gcc_arm_6.cpp.compilerName g++ qbs config profiles.gcc_arm_6.cpp.cxxCompilerName g++
-
Based on the toolchain profile, create another profile for the SimpleLink SDK that you want to use.
qbs config profiles.simplelink_cc13x0.baseProfile gcc_arm_6 qbs config profiles.simplelink_cc13x0.simplelink.core.deviceFamily cc13x0 qbs config profiles.simplelink_cc13x0.simplelink.core.installPath /opt/ti/${SDK} qbs config profiles.simplelink_cc13x0.simplelink.tirtos.xdcInstallPath /opt/ti/${XDC} qbs config profiles.simplelink_cc13x0.cpp.platformCommonCompilerFlags "[\"-mcpu=cortex-m3\", \"-mthumb\", \"-mfloat-abi=soft\"]"
-
Build and install the launchpad probe application:
qbs install --install-root /opt/qst --file qst-project.qbs profile:simplelink-cc13x0-1.60
Licensed under GPLv3. See http://github.com/rweickelt/qst/COPYING for details.