This change adopts the well known runTests.sh from TYPO3 core
and related extensions as basic scripts and test execution
center. Main benefit of this implemenation is, that these
commands are behaving the same on all systems and ci, thus
increasing interoperability and easier transforming of commands
between systems - which ease the way to rerun or debug failed
tests locally after detected in ci (GitHub Actions, Gitlab CI).
Available suits and options are aligned to this project needs,
and will be updated if needed. To display available commands:
```shell
Build/Scripts/runTests.sh -h
```
Generic tasks and options (incomplete):
* `-s composerInstall` normal install, for code quality checks
* `-s composerInstallLowest` and `-s composerInstallHighest` to
install dependencies with lowest and highest possibilities for
all dependencies, based on selected php-version, core-version
and so on. This helps to build fast a wide range of testing
matrix for unit- and functional tests
* `-p <7.4|8.0|8.1|8.2>` defines which php version is used for
executed php and composer scripts, like unit or functional
tests, composer installs and so on
* ensure support for following databases for functional tests:
- postgres <10|11|12|13|14> default: 10
- mysql <5.5|5.6|5.7|8.0> default: 5.5
- mariadb <10.2|10.3|10.4|10.5|10.6|10.7> default: 10.2
- sqlite
This can be controlled with a couple of options:
-d <sqlite|mariadb|mysql|postgres>
-a <mysqli|pdo_mysql> (for -d mysql or -d mariadb)
-i <10.2|10.3|10.4|10.5|10.6|10.7> (for -d mariadb)
-j <5.5|5.6|5.7|8.0> (for -d mysql)
-k <10|11|12|13|14> (for -d postgres)
* selection of core can be choosen with the `-t` flag,
also only v11 currently available. This is already
a preparation for multi-core testing or for further
version shiftings.
* included cgl (php cs fixer) with dryrun as suite
* add phpstan and phpstan generate baseline suites
Resolves#94
- configure the checked paths via the configuration file
- do not output a progress bar on CI
- add a baseline file and a command for creating it
- cap the number of processes
Fixes#281