QTools  6.4.0
Getting Started

Downloading and Installing QTools™

The QTools™ collection is available for download from SourceForge as well as from GitHub. The QTools™ download is provided as a Windows EXE (for Windows) or as a ZIP file for POSIX (Linux). The EXE installer is recommended, because it is digitally signed by Quantum Leaps and provides an uninstaller. Either way, uninstalling QTools is easy and requires only deleting the qtools directory from your disk.

QTools installer on Windows
It is recommended to install QTools into the C:\qp directory, or at least a directory that has no spaces or special characters in the name (e.g., "Program Files" or "Program Files (x86)" are poor choices).

Setting PATH

To use the QTools™, it is highly recommended to add the <qtools>\bin directory to the global PATH on your system, where <qtools> denotes the directory where you have installed QTools (default are C:\qp\qtools on Windows and ~/qp/qtools on Linux).

Adding <qtools>\bin to your PATH will enable you to invoke all QTools utilities (like QSpy or QClean) by simply typing qspy or qclean at the command prompt, regardless of your current directory. This will come handy, because typically you will not invoke qspy or qclean from the <qtools>\bin directory.

Setting QTOOLS Environment Variable

To use certain QTools utilities, such as QUTest or QSpyView, it is highly recommended to define the environment variable QTOOLS to point to the installation directory of QTools™.

Defining the QTOOLS environment variable is required to run QUTest Unit Testing and QSpyView Visualization and Monitoring utilities.

Enabling Python Support in QUTest™ Unit Testing

If you wish to write your QUTest test scripts in Python, you need to install Python on your machine and ensure that python is added to your PATH.

QUTest™ supports both Python 2 (2.7+) and Python 3 (3.4+).

Enabling UDP Sockets in Tcl for QUTest™ Unit Testing

If you wish to write your QUTest test scripts in Tcl, you need make sure that your Tcl interpreter is configured to support UDP sockets to communicate with the QSPY host application.

  • Windows hosts: The QTools™ collection for Windows contains the Tcl interpreter (tclsh version 8.4), which has been already extended with the UDP-Sockets for Tcl, so on Windows you can use the tclsh and wish interpreters "as is" without any additional modifications.
  • Linux hosts: On Linux, Tcl/Tk is usually installed, but you need to augment the standard Tcl/Tk distribution with the UDP Sockets for Tcl. Instructions of adding UDP Sockets to Tcl are included in the QTools collection for Linux, in the tcludp folder (see QSPY directories and files)
The support for Tcl scripting in QUTest will be phased out in the future and developing new tests in Tcl is not recommended.

Directories and Files

The following annotated directory tree in the standard QTools™ distribution lists the top-level directories and files:

  • qtools
    • bin — binaries (executables and libraries)
    • gnu_arm-eabi — GNU ARM-EABI toolset (GCC 7.2.0)
    • qspyQSPY tool for software tracing and testing
      • include — QSPY includes
      • source — QSPY sources
      • posix — QSPY port to POSIX (Linux, macOS)
      • qspypy — Python scripts (QUTest)
        • config.py — Configuration parameters for "qutest"; can be modified here or via another test start script
        • fixtures.py — Test fixtures for PyTest; These fixtures MUST be loaded in your conftest.py file to be used
        • qspy.py — Interface to the QSPY "back end"
        • qutest.py — The QUtest test context and a number of helper methods for PyTest
      • win32 — QSPY port to Windows
      • tcludp — UDP extension to standard Tcl (needed for POSIX)
      • tcl — Tcl/Tk scripts (QUTest and QSpyView)
      • matlabQSPY MATLAB Support
        • qspy.m — MATLAB script to analyze QSPY output
        • dpp.m — MATLAB script to analyze DPP example
      • mscgenQSPY MscGen Support
        • dpp.msc — MscGen output from DPP example
        • dpp.svg — Message Sequence Chart generated by MscGen
      • setup.py — Python setup file for "qspypy"
    • qwinQWin™ GUI Prototyping Toolkit

Next: QP/Spy™ Software Tracing