deskflow/.vscode/tasks.json
Nick Bolton 47849db4d9
Run Valgrind on unit tests in CI to detect memory leaks (#7401)
* Move QApplication out of main to reduce memory impact when running individual tests

* Add --valgrind arg and colorize output when command returns non-zero exit code

* Fixed: colorama not always available

* Test multiple Qt tests

* Fixed: Windows Qt test failing due to missing QCoreApplication

* Simplify fake args for Qt

* Use --ci-env arg

* Create Valgrind analysis workflow

* Rename vars for fake args

* Parse and output valgrind summary

* Add build mode to comment

* Use GITHUB_OUTPUT to output summary

* Merge valgrind comment

* Improve comment

* Use `tee` instead of `--log-file` to also print stdout

* Improve comment about debug and release

* Simplify output writing in parse step

* Improve step name

* Correct comment about summaries

* Remove commented out code

* Better var name

* Missing copyright

* Rename global to shared

* Remove space

* Revert change to ConfigTests.cpp
2024-07-17 09:22:46 +01:00

100 lines
2.3 KiB
JSON

{
"version": "2.0.0",
"tasks": [
{
"type": "cmake",
"label": "build",
"command": "build",
"targets": ["all"],
"preset": "${command:cmake.activeBuildPresetName}",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "cmake",
"label": "coverage",
"command": "build",
"targets": ["coverage"],
"preset": "${command:cmake.activeBuildPresetName}",
"group": "build"
},
{
"label": "reinstall windows daemon",
"type": "shell",
"command": "python scripts/windows_daemon.py",
"dependsOn": ["build"]
},
{
"label": "gui",
"type": "process",
"command": "${workspaceFolder}/build/bin/synergy",
"dependsOn": ["build"]
},
{
"label": "unittests (current)",
"type": "shell",
"command": "python",
"args": [
"./scripts/tests.py",
"--unit-tests",
"--ignore-return-code",
"--filter-file=${file}"
],
"dependsOn": ["build"]
},
{
"label": "integtests (current)",
"type": "shell",
"command": "python",
"args": [
"./scripts/tests.py",
"--integ-tests",
"--ignore-return-code",
"--filter-file=${file}"
],
"dependsOn": ["build"]
},
{
"label": "unittests (all)",
"type": "shell",
"command": "python",
"args": ["./scripts/tests.py", "--unit-tests", "--ignore-return-code"],
"dependsOn": ["build"]
},
{
"label": "integtests (all)",
"type": "shell",
"command": "python",
"args": ["./scripts/tests.py", "--integ-tests", "--ignore-return-code"],
"dependsOn": ["build"]
},
{
"label": "unittests (current, valgrind)",
"type": "shell",
"command": "python",
"args": [
"./scripts/tests.py",
"--unit-tests",
"--ignore-return-code",
"--filter-file=${file}",
"--valgrind"
],
"dependsOn": ["build"]
},
{
"label": "integtests (current, valgrind)",
"type": "shell",
"command": "python",
"args": [
"./scripts/tests.py",
"--integ-tests",
"--ignore-return-code",
"--filter-file=${file}",
"--valgrind"
],
"dependsOn": ["build"]
}
]
}