This will be used to test splitting/copying/merging/etc in functional tests
Also convert functional posting_test.php to use these functions
PHPBB3-8610
* develop-olympus: (22 commits)
[ticket/11162] Reformat.
[ticket/11162] Rename tricky updates to database helper.
[ticket/11162] Use empty($queries).
[ticket/11162] Review comments fixed.
[ticket/11162] Reformat.
[ticket/11162] Newlines to LF.
[ticket/11162] Use correct functions.
[ticket/11162] Account for notify_status.
[ticket/11162] This test really only works for bookmarks.
[ticket/11162] The test is not at all trivial.
[ticket/11162] Add includes.
[ticket/11162] Move to a separate file to avoid blowing out functions.php.
[ticket/11162] No whitespace changes in olympus.
[ticket/11162] Fix inaccurately copy pasted comment.
[ticket/11162] Use phpbb_update_rows_avoiding_duplicates in mcp.
[ticket/11162] Clarify that only the two tables actually work.
[ticket/11162] Uncomment transactions.
[ticket/11162] An implementation that actually works.
[ticket/11162] Make count function upper case.
[ticket/11162] Rename count variable name to remaining_rows.
...
* p/ticket/11162: (22 commits)
[ticket/11162] Reformat.
[ticket/11162] Rename tricky updates to database helper.
[ticket/11162] Use empty($queries).
[ticket/11162] Review comments fixed.
[ticket/11162] Reformat.
[ticket/11162] Newlines to LF.
[ticket/11162] Use correct functions.
[ticket/11162] Account for notify_status.
[ticket/11162] This test really only works for bookmarks.
[ticket/11162] The test is not at all trivial.
[ticket/11162] Add includes.
[ticket/11162] Move to a separate file to avoid blowing out functions.php.
[ticket/11162] No whitespace changes in olympus.
[ticket/11162] Fix inaccurately copy pasted comment.
[ticket/11162] Use phpbb_update_rows_avoiding_duplicates in mcp.
[ticket/11162] Clarify that only the two tables actually work.
[ticket/11162] Uncomment transactions.
[ticket/11162] An implementation that actually works.
[ticket/11162] Make count function upper case.
[ticket/11162] Rename count variable name to remaining_rows.
...
# By Oleg Pudeyev (21) and others
# Via Andreas Fischer (7) and others
* 'develop' of github.com:phpbb/phpbb3: (56 commits)
[ticket/11015] Move comment in the right place.
[ticket/11015] Correctly transform 'mysqli' etc. in phpbb_convert_30_dbms_to_31
[ticket/11015] Fix 3.0 to 3.1 dbms conversion for mysqli.
[ticket/11015] Change permission adding in database updater to new style.
[ticket/11015] Change more docblocks to phpbb_db_driver.
[ticket/11015] Installer still needs 3.0-style dbms name.
[ticket/11262] Add .lock in cache directory to .gitignore
[ticket/11015] Include functions.php because it is not always included.
[ticket/11265] Add assertions for board installation success.
[ticket/11263] Fix PHP Notice: Undefined variable: extension_manager
[ticket/11015] Convert database drivers to new spelling in post setup sync.
[ticket/11015] Convert connect test to the new syntax.
[ticket/11015] Restore whitespace to avoid conflict when merging develop.
[ticket/10975] Add a test for viewing a profile.
[ticket/10975] Test restricting by first character.
[ticket/10975] Avoid rewriting global config twice.
[ticket/10975] Test memberlist, not user creation.
[ticket/10975] Some quick tests to check the memberlist behaviour
[ticket/10491] Make recreate_database static.
[ticket/11088] Pass required objects in as arguments
...
Conflicts:
phpBB/install/database_update.php
# By Oleg Pudeyev (42) and others
# Via David King (2) and others
* 'ticket/11103' of github.com:EXreaction/phpbb3: (58 commits)
[ticket/11103] Revert changes to constants.php from my IDE
[ticket/11243] Show download all link on all pages of topic with attachments
[feature/template-events] Pass arguments in correct order.
[feature/template-events] Pass arguments in correct order.
[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
[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.
...
* upstream/develop:
[ticket/11262] Add .lock in cache directory to .gitignore
[ticket/11265] Add assertions for board installation success.
[ticket/11263] Fix PHP Notice: Undefined variable: extension_manager
[ticket/10975] Add a test for viewing a profile.
[ticket/10975] Test restricting by first character.
[ticket/10975] Avoid rewriting global config twice.
[ticket/10975] Test memberlist, not user creation.
[ticket/10975] Some quick tests to check the memberlist behaviour
* upstream/develop: (101 commits)
[ticket/10491] Make recreate_database static.
[ticket/11088] Pass required objects in as arguments
[ticket/11088] Globalize objects in new permission function
[ticket/11088] Move permission creation to a function
[ticket/11088] Copy a_styles permission for a_extensions
[ticket/11088] Remove extraneous word from sentence in comment
[ticket/11088] Changed "file extensions" to "attachment extensions"
[ticket/11088] Fix the database updater to correctly manipulate the modules
[ticket/11088] Put language pack module move below extension module creation
[ticket/11088] Untested, progress on update script
[ticket/11088] Fix typo (period instead of comma)
[ticket/11088] Untested progress for update script
[ticket/11088] Added missing comma
[ticket/11088] Removed added space
[ticket/11088] Move style, extension and language pack management to customise
[ticket/11243] Show download all link on all pages of topic with attachments
[feature/template-events] Pass arguments in correct order.
[feature/template-events] Pass arguments in correct order.
[ticket/10491] Install board once per test run.
[ticket/11257] Do not require set_name() method to exist
...
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
This lets us clean up the mess that was in load_object(), but requires
scope: prototype to be added to the service definitions for all types
or methods!
PHPBB3-11103
* 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.