Commit Graph

31 Commits

Author SHA1 Message Date
Andreas Braun
6887226d34 PHPC-1709: Add typing information to arginfo (#1337)
* Add missing macros for declaring arguments

* Add macros to define disabled constructor and __wakeup

* Define arginfo via stubs for BSON classes

* Declare tentative return types in interfaces

* Add correct return type for __set_state methods

* Generate class entries for BSON classes

* Declare Binary class constants in stub file

* Use stubs in exception classes

* Add stubs for monitoring classes

* Fix wrong JsonSerializable class in BSON stubs

* Disable declaration-after-statement

This is necessary to let the generated arginfo files compile

* Use stubs for driver classes

* Fix deprecation messages in tests

* Add missing macro

* Fix tests relying on value injection

* Parse parameters in disabled constructor/wakup function

* Add note about arginfo files to contribution docs

* Add GitHub action to check generated arginfo files

* PHPC-2115: Use DateTimeInterface in UTCDateTime constructor signature

* Don't install mongodb extension in GitHub actions workflows

* Change indentation in stub files

* Use individual #if conditions for each stub method

* Make disabled constructor/wakeup methods static

* Fix bulkWrite parameter name

* Use %d to match property count in tests

* Ensure all classes with disabled serialisation declare __wakeup
2022-08-03 08:42:07 +02:00
Jeremy Mikola
f97f3efaea PHPC-2094: Relay command comment when constructing a cursor (#1322) 2022-05-24 18:52:07 -04:00
Jeremy Mikola
93efe0aeb6 PHPC-2073: Remove references to pre-3.6 servers (#1305)
* Remove pre-3.6 server versions from Evergreen matrix

* Remove skipped tests for pre-3.6 servers

* Remove old mongo-orchestration configs and Evergreen tasks

* Remove flaky replica set tests

These tests assume a particular replica set member is always the primary, so tag assertions may fail if a different member is elected. The server-getTags-002.phpt test has more flexible assertions for replica set tags, so we can safely remove these tests.
2022-03-01 20:30:00 -05:00
Jeremy Mikola
2db00e0e24 PHPC-2064: Call skip_if_not_clean after other skip functions
"nocache" output from skip_if_not_clean may cause "skip" output from other functions to be ignored. Changing the order so that skip_if_not_clean is always called last will fix this in most cases (excluding tests that call skip_if_not_clean multiple times).
2022-02-10 13:20:52 -05:00
Andreas Braun
b27fa4d019 PHPC-1965 Re-enable PHP 8.1 build on GH Actions (#1258)
* Re-enable PHP 8.1 build on GH Actions

* Work around different error wording in PHP 8.1

* Limit failing tests to PHP < 8.1

* Add tests for PHPC-1839 for PHP >= 8.1
2021-09-07 08:18:08 +02:00
Andreas Braun
deead9687e PHPC-1716 Allow configuring server API version in manager (#1204)
* Introduce MongoDB\Driver\ServerApi

* Accept serverApi driver option

* Introduce create_test_manager factory to create manager

A centralised entry point is required to inject the API_VERSION env variable later.

* Add build variant to test with requireApiVersion=true

* Fix wrong configuration for auth variable

This changed when migrating from our own scripts to drivers-evergreen-tools and was not updated properly, causing all tests to run with auth disabled.

* Declare ZEND_PARSE_PARAMETERS_NONE macro

This macro is missing on PHP < 7.3

* Remove duplicated API param storage

* Add missing semicolons

* Add ZEND_PARSE_PARAMETERS_NON_EX macro

* Extract error handling functionality to separate macros

* Throw if internal mongoc_server_api_t is already initialised

* Use imported namespaces in tools file

* Fix type info for reflection

* Use American English spelling

* Only use typed serialize signature on PHP 8+

* Update PHONGO_PARSE_PARAMETERS_NONE macro for PHP < 7.3

* Remove usage of ZEND_STRL within zend_hash_str_add

This causes compile failures on PHP < 7.3 that I have yet to understand.

* Fix errors in new PHONGO_PARSE_PARAMETERS macros
2021-03-26 15:43:48 +01:00
Derick Rethans
bcbdcbfebf These tests are >= 3.6, as they use changeStreams 2019-02-14 15:35:31 -05:00
Jeremy Mikola
ef06e624c8 $changeStream requires WiredTiger storage engine 2018-06-25 16:17:10 -04:00
Jeremy Mikola
476c7f947b Test suite compatibility with server 4.0.0-rc5 2018-06-15 16:47:12 -04:00
Jeremy Mikola
bf5cf8b33f PHPC-1179: arrayFilters tests don't need to start servers
These tests were only using Mongo Orchestration to ensure a 3.6 server. skip_if_server_version() can be used instead.
2018-05-25 10:41:29 -04:00
Jeremy Mikola
dcc2fdf259 PHPC-1113: Use XFAIL instead of skips for tests to be reimplemented 2018-05-03 11:52:45 -04:00
Jeremy Mikola
27a0452ecf PHPC-1113: Disable tests that start servers with MO (defer to PHPC-1179) 2018-05-02 16:04:09 -04:00
Jeremy Mikola
58fa85e85e PHPC-1113: Use common URI constant 2018-05-02 16:04:09 -04:00
Jeremy Mikola
5f7f350670 PHPC-1113: Replace NEEDS('STANDALONE') with skip function 2018-05-02 16:04:08 -04:00
Jeremy Mikola
b4062f880c PHPC-1113: Replace CLEANUP() with skip function 2018-05-02 16:04:08 -04:00
Jeremy Mikola
3a1362bb8d PHPC-1113: Replace NEEDS('REPLICASET') with skip function 2018-05-02 16:04:08 -04:00
Jeremy Mikola
fe52b484be PHPC-1113: Replace NEEDS_ATLEAST_MONGODB_VERSION() with skip function 2018-05-02 16:04:07 -04:00
Katherine Walker
0e8cf55649 PHPC-1159: Test on specific server versions in Travis CI 2018-04-17 09:35:51 -04:00
Jeremy Mikola
44ee529743 Use longer maxAwaitTimeMS in changeStream test
This makes the test more robust, since 100ms may not be long enough for the change to appear on some runs.
2018-04-12 13:17:55 -04:00
Katherine Walker
bc5ce89caf PHPC-1109: Support batchSize getMore option for command cursors 2018-02-06 13:12:58 -05:00
Jeremy Mikola
343f6e252f PHPC-1029: Remove unused Command options in test
Using $changeStream in an aggregation pipeline implies a tailable/awaitData cursor. Unlike Query, Command does not take these options.
2018-01-26 12:28:02 -05:00
Jeremy Mikola
6ca8c7fbc1 Remove redundant REPLICASET_36 mo environment 2018-01-08 10:28:56 -05:00
Jeremy Mikola
ecaeb2c1a2 Replace tabs with spaces in test files 2017-12-12 08:17:59 -05:00
Derick Rethans
b3dcff2841 Fixed tests, as they need MongoDB 3.6 2017-11-23 17:47:37 +00:00
Derick Rethans
4c338082cb PHPC-1029: Support maxTimeMS getMore option for tailable command cursors 2017-11-23 12:44:22 +00:00
Derick Rethans
6d262023bb PHPC-975: Array Update Improvements 2017-11-21 17:25:02 +00:00
Derick Rethans
5a00dcead0 PHPC-1036: Update test suite for MongoDB 3.6 2017-11-13 18:09:21 +00:00
Jeremy Mikola
e6b8479506 Reorganize SKIPIF blocks in tests and add missing NEEDS() checks 2017-03-15 10:41:04 -04:00
Jeremy Mikola
103aabed31 Add missing extends tests 2016-09-21 16:32:39 -04:00
Jeremy Mikola
7f485f921e PHPC-761: Tests can rely on MongoDB\BSON namespace 2016-08-05 14:06:58 -04:00
Jeremy Mikola
b6c9b45add PHPC-550: Always encode ODS field when serializing Persistable documents
The modified ODS tests return atomic modifiers through bsonSerialize(), which conflicts with __pclass injection (the resulting newObj is neither an update nor a replacement document). Rather than delete these tests, we'll mark them as expecting failure until we allow such functionality in another interface down the line.
2016-02-15 12:49:00 -05:00