Know what is available
- Reports the CLI version and license mode
- Distinguishes Automation, Desktop CLI, both or neither
- Lists licensed, not licensed and unrecognized features
- Text output for review;
--jsonfor saved evidence
First check available license features. Then use the test project to verify three concurrent scans per container.
Target architecture, not a recorded lab result.
Final scan and license acceptance will take place on your server.
cpptest-license-features queries the license configured for a specific C/C++test CLI. No project analysis is performed.
--json for saved evidenceA preflight check, not a capacity test. The utility does not prove three available server allocations or nine simultaneous analyses. Use the same container image and approved license settings as the scans.
ESL supplies the utility separately. Run it in each target container environment before the verification scans.
# Set these paths for the actual installation and approved settings
./cpptest-license-features "$CPPTEST_PROBE_CLI" \
--settings "$CPPTEST_SETTINGS" --json > license-features.jsonConfirm the required features are present. Exit 0 means the query succeeded, not that every required feature is licensed.
Resolve required features marked Not licensed. Exit 2 means a query failure, such as license access, timeout or an unexpected response.
The CLI does not expose that feature name through this check. Treat it as inconclusive, not proof that the feature is unlicensed.
Compatibility gate: uses undocumented -check-license, verified on Windows 2025.1 and Linux 2025.2, not Xsight's 2023.1.1 image. Linux 2025.2 needs cpptest/bin/cli/cpptestcli, not its top-level launcher. Confirm the probe path/support with Parasoft for the lab version; keep the existing scan command unchanged.
After license preflight, use the nine-app project to verify the move from one scan per container to three independent scan processes.
Scheduling illustration only. Both modes produce nine reports in total. This is a concurrency target, not a measured 3× speedup. The baseline switch limits scheduling; it does not change the installed license edition.
Three Automation server entitlements, with the required analysis features
Intended allocation, verified during the run. The License Server grants licenses; the demo does not assign, duplicate or spoof machine IDs.
Three related variants per family. Small enough to inspect, different enough to distinguish the results.
sensor_1Unchecked index · division by zero
sensor_2Uninitialized reading · null dereference
sensor_3Signed overflow · use after free
packet_1Buffer overflow · mismatched delete
packet_2File leak · off-by-one read
packet_3Double free · excessive shift
queue_1Memory leak · negative index
queue_2Uninitialized slot · allocator mismatch
queue_3Closed-file use · dangling pointer
The runner builds and analyzes these programs; it never executes their defective paths. These are intended defects, not promised detection counts. Findings depend on the scanner version and enabled rules.
Adapted from the Dockerfile, properties and analysis script supplied by Xsight Labs.
/opt/parasoft/cpptest/cpptestcligcc_8-64 and compilation-database inputcompile_commands.json and cacheC/C++test Standard is a product name. Automation is a licensed capability. The demo retains the supplied Standard CLI command pattern and requests the approved server edition.
After reviewing the utility's feature list, run the test project on the Xsight lab server in a reserved test window.
Set the image in .env, mount the same approved settings used for preflight and build the demo image.
All nine sample builds finish before scanning starts. Each worker then launches three scan processes.
Inspect container processes, resource usage and License Server token details while the scans are active.
# Optional baseline: one scan at a time in each container python3 lab.py run --mode standard # Automation target: three scans at a time in each container python3 lab.py run --mode automation
Tiny-sample defaults: 3 CPUs and 10 GiB limit per container, 2 GiB Java heap per scan. Reserve additional host/native-engine headroom. These are starting values, not production sizing.
Keep each preflight JSON alongside the scan evidence. Results stay on your server, not in this public presentation.
summary.mdA nine-row table: application, container, exit code, findings and status.summary.jsonRecorded process timings, common overlap and technical checks.report.xml / .htmlNative Parasoft results for each application.scan.logPer-process console evidence and failure diagnostics.Every new run uses a fresh timestamp/UUID directory. Earlier reports cannot silently become this run's evidence.
Expected findings are not scanner failures: exit 2 with -fail is accepted. License errors, setup failures, timeouts and missing or empty reports fail the technical check.
Group by container for a compact view, or by application for individual project tracking.
A shared build.id identifies the run; a unique session.tag identifies each scan. Approve the demo projects, then set DTP_PUBLISH=true. Dashboard aggregation does not change the nine local report directories.
The utility checks available features first. The test project and live License Server evidence verify the three-by-three configuration.
Process overlap alone is not proof of licensed engine overlap. Capture token details while the jobs are active. A requested feature list does not establish what the License Server granted.
Step 1: run the license utility.
Step 2: verify nine scans across three containers, with License Server evidence.
Verification project and deployment instructions. Public repository; no open-source license grant. The license utility is supplied separately, not bundled in this repository.
Utility compatibility on the lab's 2023.1.1 image, private-image build, real findings, nine-process overlap and License Server grants.
Project regression tests use a fake scanner. Prior utility checks are not Xsight license evidence.