* Fix use of correct CMAKE bin
Some tests have used the OS installed version.
This may not be the expected CMake version.
* Add new tests and stabilize tests
- Add test to check correct behavior of configuration fail
- Add test to check throwing of not found cmake generator
- Fix behavior of generator switch
Now it is a more realistic test case. This test used the same
driver methods like the pre-configured cmake build folder test.
This makes it difficult to detect pre-configured build folders. The
cmake-tool class(extension front-end) use a different way to
switch the kits on a running cmake driver instance used.
- Fix some smaller problems in tests
* Fix throw no generator exception
* Remove redundant path infomation in tests
* Replaced pickGenerator by variable for generator
The cms client normally started a pick call in the UI.
This modification moves the questions infront of the start.
This removes the required callback from cms client.
* Move selection of prefered generator
The prefered generators are extracted by the cmake drive from configuration,
kit files or settings. This modification moves the aggregation of different
prefered generator out of the driver into the cmake tools.
This allows to defines exact preferred generators for testing (no hidden
dependency). The driver only checks the prefered generator list,
if there is more then one then the first existing generator is selected.
- Fix wrong preferred generator definition in test
- Extend debug information
* Fix problem with invalid preferred generator
* Fix missing destroying of driver on kit switch error
The error of invalid generators/kits is a parallel event based dead of
the backend driver (Cmake-server client).
This modification moves the generator selection and test from the
backend driver part to the UI accessable part of the driver.
This makes exception visible for Promise and exception handling.
* Stabilize tests and bugfix wrong setKit() behavior
- Replace driver creation by only update existing driver if it is present
- Clear active kit if it is broken
- Extend test for linux
* Change kitname storing only if it works successful
* Fix test and extend test reporting
* Fix spelling
* Replace workspace path read from vscode to constructor variable
- The workspace is read from vscode, this makes it hard to refactor
cms-driver to test compiler integration on a lower level.
The workspace needed to be set by a higher level, to make low level driver
independent of vscode ui and data structures.
- Make non public function protected.
* Replaced pickGenerator by variable for generator
The cms client normally started a pick call in the UI.
This modification moves the questions infront of the start.
This removes the required callback from cms client.
* Clean up CMake Build Start Problem UI interaction
The CMake Driver has many dependencies to UI. This
modification moves the dependencies from CMakeDriver into
cmake-tools. This allows to test the driver without UI interaction.
- Move quickstart and missing source dir warning
- Remove not required configuration setting `autoRestartBuild`
I was not able to bring the driver into a state where two
builds run in parallel. The `CMakePreconditionProblemSolver`
never signals `busy` CMake.
- Change visability of some do methods in cms-driver.
* Fix working path getter
* Fix parallel clean and configure on driver level
The parallel execution of cmake configure is allowed by the driver. This modification will
forbid a parallel configuration.
* Move selection of prefered generator
The prefered generators are extracted by the cmake drive from configuration,
kit files or settings. This modification moves the aggregation of different
prefered generator out of the driver into the cmake tools.
This allows to defines exact preferred generators for testing (no hidden
dependency). The driver only checks the prefered generator list,
if there is more then one then the first existing generator is selected.
- Fix wrong preferred generator definition in test
- Extend debug information
* Remove toolset dependency in cms-client
The CMS Server client had a dependency to configuration reader to
read the toolset. For my this is a inconsistent information. Only
the toolset was from config file but not the platform.
* Add cms driver test for linux
* Fix problem with invalid preferred generator
* Add tests for reconfiguration and generator switch
* Harmonize cleanConfigure with configure in driver.
* Remove Workspace state dependency from driver
This modification reduces the dependency of the cmake driver layer to the workspace context. This modification allows to setup low level CMake driver tests, so that the driver code could be tested with different cmake versions.
The UI parts can then tested with a driver mock, or by system tests.
- Replace DirectoryContext by ConfigurationReader
- Moved access to DirectoryContext state by setter funcions (setVarianOptions). This allows to set variant in a consistent way.
- Reduces fakes from tests
* Clean up and fix variant naming
* Extract cmake flags generation out of configure method for readability
* Stabilize tests and reformat code
* Set timeout for teardown of driver
* Fix some errors
* Restructure drivers
* Move cmake server client driver part
* Added tests and fix some review issues
- Rename typos and style issues
- Add test for no parallel build
- Add variable to monitor running build task in driver
- Add new precondion value to create message on already running task
* Fix missing break
Total for ctest shouldn't be based off total of tests parsed but rather how many tests are run as you can use ctest args to limit how many tests are fun. For example, if I have 100 tests, but I run my ctest for only one test, it shouldn't show the status as failing and that 1/100 tests passing.