All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- doesn't send skipped events for skipped tests: This will preserve
- in case of Google Test 'DISABLED_' prefix is removed from the label. The icon indicates it anyway.
- it seems Google Test's test names first character can be a digit.
- the test list parser timeout from 5 to 30 seconds.
- section picker for debugging.
- a bug related to env variables in case of debugging.
testExplorer.sort
, so I removed my logic. If you want the old ordering set this tobyLabelWithSuitesFirst
.- tooltip: it will show more info about the suites and tests.
catch2TestExplorer.defaultRngSeed
, which didn't work at all.
- config scheme validation is much better
- a small bug related to
executables
's environment variables.
Stability improvements.
- A list of non-executable extensions has been extended to:
'c', 'cmake', 'cpp', 'cxx', 'deb', 'dir', 'gz', 'h', 'hpp', 'hxx', 'ko', 'log', 'o', 'php', 'py', 'rpm', 'sh', 'so', 'tar', 'txt'
- a bug related to navigation to source.
This version probalby contains stability imporvements ✌️, but in case it doesn't work on all platforms as I expect, you can downgrade it in the vscode's extension manager and please file an issue about the bug. 🙏
REMARK: A list of non-executable extensions are hard-coded: ['py', 'sh', 'cmake', 'deb', 'o', 'so', 'rpm', 'tar', 'gz', 'php', 'ko']
.
And on Windows everything is filtered what is not ends with .exe
;
- sending
SIGKILL
in case of second cancel. (Clicking onto the cancel button after the first cancel wasn's succesful.)
- In case of multiple adapters or workspace folders, if there are no tests in a particular workspace folder it won't be shown in the Test Explorer.
- a bug related to Google Test framework's test list loading. (Issue)
Sorting has been change to alphabetic order.
Google Test tests are grouped.
- a bug related to suite name uniquification.
Performance and stability impovements.
Performance and stability impovements.
- a bug which caused that
files.exclude
were also applied to pattern. Not anymore. - a bug which caused to show not file names but patterns in the explorer.
- a bug which allowed suite duplications if more patterns were matching.
- a bug related to Google Test framework:
INSTANTIATE_TEST_CASE_P
.
- a bug related to
defaultCwd
anddefaultEnv
andexecutables
'scwd
.
- Handling: Catch2: INFO, WARN, FAIL, std::cout, std::cerr
catch2TestExplorer.enableSourceDecoration
will be removed. UsetestExplorer.errorDecoration
.
fs-extra
was only a devDependencie, so the extension couldn't load.
- Debugging a Google Test did run all the tests.
Google Test framework support has been added. It is in experimental phase.
- bug related to loading test list with duplicated test names
- a bug related to autorun see
Better error handling and logging.
catch2TestExplorer.defaultRunningTimeoutSec
to prevent infinite loops
Stability improvements.
- Source file path resolution
- Bug related to automatic test reloading
Updated README.md
Unnecessary codes and packages are removed from extension package.
Also old releases will be removed from Github releases page,
because of a security issue
related to vscode
package.
- Security issue related to event-stream https://code.visualstudio.com/blogs/2018/11/26/event-stream
Stability improvements.
- relative patter/path outside of workspace didn't work
- tests are added/removed if change detected under running tests
Performance and stability improvements. Improved logging.
catch2TestExplorer.defaultNoThrow
option. Skips all assertions that test that an exception is thrown, e.g. REQUIRE_THROWS. This is a Catch2 parameter: --nothrow.
- debugger recognition. (ms-vscode.cpptools's documentation is incorrect)
catch2TestExplorer.debugBreakOnFailure
option. It is true by default.- Change of test file (ex.:recompilation) triggers "autorun" feature.
(Right click on test/suite in text explorer -> Enable to enable autorun for the selected test/suite.)
This basically means that the selected test/suite will run in case of any filesystem event related to the
executables
variable. It can be really useful if one would like to run a test (or suite) automatically after recompiliation.
Performance and stability improvements.
- It reloads suite if it finds any new tests.
- A bug in package.json. It couldn't load the tests by default.
- A bug related to jumping to source.
- A bug related to xml parsing.
For development:
Now, if there is 'something' in the CHANGELOG without date (ex.: "[1.2.3]") and it is merged to the master, a deploy job will run it will:
- Appends the
CHANGELOG.md
's new version-line with the current UTC date: "[1.2.3]" --> "[1.2.3] - 2018-10-31".- Updates the version number in
package.json
according to the one inCHANGELOG.md
.- Creates a commit about it.
- Creates a tag too.
- Creates a
GitHub release
for the tag and uploads the generated.vsix
file.- Publish the new version to Visual Studio Marketplace.
Hopefully it works (partially tested only 🤞).
executables
'spath
. Now it is mapped topattern
, so works, but it will be removed in the future.
Lot of things new under the hood, but lets talk about the 'API' change.
-
Renamed
defaultExecWatchTimeout
-->defaultWatchTimeoutSec
.- Also the unit has changed from milisecond to second.
-
Renamed
debugConfigurationTemplate
-->debugConfigTemplate
. -
Renamed
path
property ofexecutables
-->pattern
. (Technicallypath
still can be used as an alias.) -
Changed behaviour of
path
property ofexecutables
. Now it can understand "VSCode patterns". (Details) - These work for only path's inside the workspace directory. Paths outside of it can be used with absolute path or with relative to working directory (ex.:../build/test.exe
), but without patterns (and without file-watch).*
to match one or more characters in a path segment?
to match on one character in a path segment**
to match any number of path segments, including none{}
to group conditions (e.g. {**/*.html,**/*.txt
} matches all HTML and text files)[]
to declare a range of characters to match (e.g.,example.[0-9]
to match on example.0, example.1, …)
-
File system is watched through the previously mentioned pattern (only inside the workspace directory), and newly created executables will be added automtically, deleted ones will be removed and changed ones will be refresed.
-
Variable substitution has been changed. (See README for details.)
- Removed
regex
property ofexecutables
. - Removed
recursiveRegex
property ofexecutables
.
- Configuration:
catch2TestExplorer.defaultExecWatchTimeout
: Test executables are being watched. In case of one compiles too much this variable can help with it.
Bugfix release
- Parsing 'Randomness' values
- Fixed
catch2TestExplorer.defaultRngSeed
- Configuration
catch2TestExplorer.defaultRngSeed
is added. - Test's running duration is shown.
- package.json workerMaxNumber naming has been fixed.
- Loads of bugs ave been fixed. (Typically platform related ones.).
- Skipped tests are recognised.
catch2TestExplorer.workerMaxNumber
, see Changed section.- Tricky test names (with spaces in it) are handeld.
- Just global worker limitation exists from now so, it was renamed
catch2TestExplorer.globalWorkerMaxNumber
=>catch2TestExplorer.workerMaxNumber
catch2TestExplorer.defaultGroupFileLevelRun
was removed. Now just group file level run exists.- Thats why
catch2TestExplorer.defaultWorkerMaxNumberPerFile
was unnecesary too, removed. - And also
catch2TestExplorer.executables
'sworkerMaxNumber
was removed. catch2TestExplorer.globalWorkerMaxNumber
, see Changed section.
catch2TestExplorer.defaultGroupFileLevelRun
. Check [README.md] for details. If you have a loads of tests in a file or your test file starts slowly because you should benefit from this.
- Project structure was refactored.
- Navigate to source now works before running the tests too. (Except on Windows. Probably that is not the problem of this extension.)
- npm update.
recursiveRegex
flag has been added.
- Fixed debugConfigurationTemplate config default value.
- Debug button works now if
debugConfigurationTemplate
is properly set.
- IMPORTANT!!! Config variable names has been changed. Check the updated documentation: README.md
- Fixes some issues related to test auto-reloading after compilation.
- Nothing really, just refactoring.
- Everything. This is the initial version for review.