# Qual: Fix CommanClassTest in case there is no logfile
When running an individual test in the absence of a logfile, the test
did not run properly (setup issues, and tearDown issues on error).
This adds checks that the logfile exists.
# Qual: Improve lang test + message in case of test exception
This fixes the language test enabling the error message itself.
I also improved the Exception handling so that a backtrace is shown to help
find where it happened (here the error message was empty which was strange
and made it harder to find - the (empty(val)?a:b) was lacking parentheses
for proper concatenation
# Refactor objCompare:
- Move to CommonClassTest;
- Report class name for mismatched property;
- Cope with dolDeprecated property aliases (test may exclude deprecated name,
also exclude new name).
# Fix: Ob buffer cleanup on exception
The OB buffer capture was incorrectly cleaned up on exception.
This fixes that.
Also modified the SecurityTest to enable running it standalone
# Fix: Script tests (on Windows)
- Set `exit(255)` instead of `exit(-1)` in `scripts/bank/export-bank-receipts.php`.
On *nix, the -1 converts into an exist code of 255 but on windows it
is -1, making the test fail.
- Add a helper method to execute php scripts using the php binary used
to run phpunit.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
# Fix: Skip UtilsTest on windows where ls is not available
The test in question uses 'ls' which is not available on windows.
This change limits the execution to non windows systems.
# Qual: Improve logging on phpunit error by limiting to new log lines
Log only the new files since the start of the failed test within the limit
of the number of requested lines.
To do this, the log file size is recorded in setUp() to show only the data
beyond this limit on error.
# Qual: Improve PhpUnit logging in case of error.
- Log exception message with extra log information.
- Do not output markers for dolibarr.log if no log lines should be shown.
- Use GitHub action style prefixes to group messages
# Fix: phpunit - Add adapter to "not existing directory" assertion
This is a helper function added to the common test class which is useful
to maintain cross phpunit version compatibility without triggering a
deprecation error for internal phpunit test functions.
Used in a testcase for dol_dir_move in a pending PR
* Qual: CommonClassTest - less verbosity, but better when error
# Qual: CommonClassTest - less verbosity, but better when error
- Report the test method and parameters in case of error.
- Less verbosity about setup.
- $_ENV was empty array, replaced with getenv()
* Qual: Refactor CodingPhpTest
# Qual: Refactor CodingPhpTest
- Use dataprovider (better progress report, better errors, better continuation)
- Use dol_dir_list's exclude_filter capability (do not traverse the excluded dirs)
- Reduce debug output from dolibarr.log (not really relevant for these tests).
* Fix: References to loop variables outside loop
# Fix: References to loop variables outside loop
The test referenced some undefined variables outside foreach loops ($val[0])
* Update CommonClassTest.class.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix: Correct CommonClassTest's constructor
# Fix: Correct CommonClassTest's constructor
Dataproviders did not work because of the issue with the constructor
* Qual: Refactor module name list, add mapping to class name
# Qual: Refactor module name list, add mapping to class name
Based on ModuleTest and search for modules in the code, complete the
list of modules and map to the class names.
This will allow reuse in the ModuleTest.
* Qual: Refactor ModulesInit test
# Qual: Refactor ModulesInit test
Use the updated common module mapping list, more complete than
the original list.
Also refactor the test to use a data provider.
* Fix: valid module test must now use array_key_exists
# Fix: valid module test must now use array_key_exists
Because of the introduction of null key values, isset on the array no
longer works, using array_key_exists to test if the modulename is valid.
* fixup! Qual: Refactor module name list, add mapping to class name
* Qual: Less verbosity for tests
# Qual: Less verbosity for tests
The verbosity on setup/teardown/... is not really usefull and
makes the log less readable. Reducing the verbosity while allowing
to set an environment variable PHPUNIT_DEBUG to enable it.
* Qual: Add test to validate module_names
# Qual: Add test to validate module_names
This ensures that all explitly tested module names appear in the reference list.
Displays messages when the module_name is deprecated
* Update CodingPhpTest.php
* Update CodingPhpTest.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Apply php-cs-fixer before changes
# Qual: Apply php-cs-fixer before changes
Apply php-cs-fixer before changes to make real changes stand out
in next commit.
* Qual: Improve test messages to help locate errors.
# Qual: Improve test messages to help locate errors.
Included a description of the test in the failing assertions to
help locate the error.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: Update spelling exception
# Qual: Update spelling exception
Formatting the code requires an update in the spelling exception list.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
* Qual: php-cs-fixer on phpunit test file
# Qual: php-cs-fixer on phpunit test file
Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.