While merging into develop, also move self::$config['table_prefix']
initialization into setup before class from install_board, as
install_board is only called to install the board and not for each test case.
* develop-olympus:
[ticket/10491] Make recreate_database static.
[ticket/10491] Install board once per test run.
[ticket/10491] Move board installation into setup before class.
[ticket/10491] Set up functional tests sensibly.
Conflicts:
tests/test_framework/phpbb_functional_test_case.php
* p/ticket/10491:
[ticket/10491] Make recreate_database static.
[ticket/10491] Install board once per test run.
[ticket/10491] Move board installation into setup before class.
[ticket/10491] Set up functional tests sensibly.
# By Oleg Pudeyev (36) and others
# Via Oleg Pudeyev
* p/feature/template-events: (47 commits)
[feature/template-events] Pass arguments in correct order.
[feature/template-events] Order extensions in mock extension manager.
[feature/template-events] Changes per imkingdavid's review.
[feature/template-events] Make style names private on template.
[feature/template-events] Test for event that is defined in parent style only.
[feature/template-events] Specify style names, add inheritance tests.
[feature/template-events] Normalize expected directory trees.
[feature/template-events] Allow dataset to be correctly selectable.
[feature/template-events] Dataset for template event testing with inheritance.
[feature/template-events] Use style names array in template filter.
[feature/template-events] Generate style names array in set_style.
[feature/template-events] Convert a single style name to array of them.
[feature/template-events] Chase dependency injection for template context.
[feature/template-events] Adjust template events test to use the dataset.
[feature/template-events] Create a dataset for template event tests.
[feature/template-events] Indentation fix.
[feature/template-events] Cosmetic changes.
[feature/template-events] Wording: wrongly -> improperly.
[feature/template-events] Indentation fix.
[feature/template-events] Rename template_name to style_name.
...
This is how things used to be. Installing for each test class brings
3-4x performance penalty compared to installing once for the entire
test run. However, with a single installation for all tests an
individual test can see different data when it is invoked by itself
vs when it is executed as part of the entire test suite.
PHPBB3-10491
* p/ticket/10972:
[ticket/10972] Drop user deletion.
[ticket/10972] Tweak user addition.
[ticket/10972] Add destroy method to mock cache.
[ticket/10972] Add mock null cache.
[ticket/10972] Backport get_db from develop.
[ticket/10972] Added explicit checks for creating duplicate users.
[ticket/10972] Moved tests into appropriate places and added comments
[ticket/10972] Added methods for creating and deleting basic users
* p/ticket/11095-develop:
[ticket/11095] Restore brace on previous line.
[ticket/11095] Docs and tests for phpbb_build_hidden_fields_for_query_params.
[ticket/11095] Forward GET parameters into hidden fields for jumpbox.
[ticket/11095] Python quoteattr port.
[ticket/11095] Use get method in jumpboxes.
* develop-olympus:
[ticket/10205] Reduce nesting in mysql drivers.
[ticket/10205] Rewrite _sql_error implementations to have a single return.
[ticket/10205] Cosmetic changes.
[ticket/10205] Add some columns to the empty fixture file for mssqlnative.
[ticket/10205] Delete stray return.
[ticket/10205] Test failed connection attempts.
[ticket/10205] Check for function existence in mssql connect method.
[ticket/10205] Convert mssqlnative driver to the same logic.
[ticket/10205] Fix a parse error in oracle driver.
[ticket/10205] Fix remaining db drivers.
[ticket/10205] Avoid calling mysqli functions when mysqli is missing.
[ticket/10205] Account for potentially missing extensions in dbal.
Conflicts:
tests/fixtures/empty.xml
* p/ticket/10205:
[ticket/10205] Reduce nesting in mysql drivers.
[ticket/10205] Rewrite _sql_error implementations to have a single return.
[ticket/10205] Cosmetic changes.
[ticket/10205] Add some columns to the empty fixture file for mssqlnative.
[ticket/10205] Delete stray return.
[ticket/10205] Test failed connection attempts.
[ticket/10205] Check for function existence in mssql connect method.
[ticket/10205] Convert mssqlnative driver to the same logic.
[ticket/10205] Fix a parse error in oracle driver.
[ticket/10205] Fix remaining db drivers.
[ticket/10205] Avoid calling mysqli functions when mysqli is missing.
[ticket/10205] Account for potentially missing extensions in dbal.
Users should not be deleted in tests that test user creation.
Tests should use unique user names to avoid collisions.
User deletion should use user_remove anyway.
PHPBB3-10972
Always add users, do not keep track of which users have been added.
The tests should know whether users they want exist or not.
Use more unique user names in tests for robustness.
Added some more assertions here and there.
PHPBB3-10972
I actually needed the version that destroys tables, therefore
I ended up writing a mock null cache. This code is currently unused
but will probably be handy at some point.
PHPBB3-10972
The mock cache has instrumentation methods and therefore is non-trivial
to implement. For those times when we don't care that the cache caches,
null cache is a simpler implementation.
PHPBB3-10972
* develop-olympus:
[ticket/11219] Coding guidelines and naming consistency changes
[ticket/11219] Only update sequences that are affected by a fixture
[ticket/11219] Recreate Oracle sequences instead of altering them
[ticket/11219] Add unit test for inserting into a sequence column
[ticket/11219] Update sequence values after loading fixtures
* Noxwizard/ticket/11219:
[ticket/11219] Coding guidelines and naming consistency changes
[ticket/11219] Only update sequences that are affected by a fixture
[ticket/11219] Recreate Oracle sequences instead of altering them
[ticket/11219] Add unit test for inserting into a sequence column
[ticket/11219] Update sequence values after loading fixtures
* develop-olympus:
[ticket/10716] Collect standard error from executed php process.
[ticket/10716] Skip test if php is not in PATH.
[ticket/10716] Exclude our dependencies from linting.
[ticket/10716] Only lint on php 5.3+.
[ticket/10716] php parse all php files as part of the test suite.
Supposedly it choked on the version without any columns thusly:
phpbb_dbal_connect_test::test_failing_connect
PDOException: SQLSTATE[HY090]: [Microsoft][ODBC Driver Manager] Invalid string or buffer length
PHPBB3-10205
php executes everything via a shell. The standard error of this
top level shell is not captured by exec/shell_exec/popen/etc.
and there is no way to capture it. proc_open might work but it
is a nightmare to use and without multiplexing reads from
standard error and standard output it can deadlock.
Thus the solution in this commit. Put the command into a subshell
and redirect standard error to standard output for the subshell.
PHPBB3-10716
PHPBB_FUNCTIONAL_URL goes into setup before class.
Drop PHPBB_FUNCTIONAL_URL check in board installation and
silent return if it is not set.
Take board installation out of constructor.
Install board in setup method.
PHPBB3-10491
* p/ticket/10103:
[ticket/10103] New and improved wording.
[ticket/10103] Assert with messages.
[ticket/10103] assertLessThan/assertGreaterThan.
[ticket/10103] Inline assignment is bad?
[ticket/10103] $rv had too few characters.
[ticket/10103] Correct flock class documentation.
[ticket/10103] Try a longer sleep for travis.
[ticket/10103] Convert the rest of the tree to flock class.
[ticket/10103] Test for flock lock class, with concurrency no less.
[ticket/10103] Use flock lock class in messenger.
[ticket/10103] Factor out flock lock class.