-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Test oci8 & pdo_oci in CI #8348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
6bb8c32
to
7e8433a
Compare
fc0926c
to
7550cd7
Compare
542f6b7
to
378291f
Compare
@cmb69 any idea how to fix |
I expect you have a debug PHP build. That warning goes away with a non-debug build. One thing I don't recall whether I tried was to add |
@cjbj is it possible to disable the signal override completely from the C code (/wo any special env. var)? |
@cjbj any idea how to disable the signal override from the oci8 ext itself? |
@mvorisek apologies I've been slammed with this Python driver release and haven't been able to play with PHP. As well as the previous suggestion, it may be possible to use DISABLE_INTERRUPT=on in a sqlnet.ora (yes, this is not particularly documented - the Net team tell me it will be). I don't believe there is a way in the connect string to do this, and nothing in an API call that OCI8 could make. |
f2cc01c
to
03a5e4d
Compare
@cjbj thanks, the signal override issues is gone! these tests are failing:
the first two tests are probably not compatible /w the latest Oracle DB the last one is probably an issue in php can you please take a look and advise how to fix them? |
That looks like an issue in PS: somewhat related issue regarding |
in PHP 8.1 there are two tests failing - https://github.com/mvorisek/php-src/runs/7404701507
|
That looks right.
ext/pdo_oci/tests/pdo_oci_quote1.phpt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ext/pdo_oci/tests/pdo_oci_quote1.phpt b/ext/pdo_oci/tests/pdo_oci_quote1.phpt
index 024625a181..68df2ea926 100644
--- a/ext/pdo_oci/tests/pdo_oci_quote1.phpt
+++ b/ext/pdo_oci/tests/pdo_oci_quote1.phpt
@@ -21,7 +21,7 @@ $stmt = $db->prepare('select * from poq_tab');
// The intent is that the fetched data be identical to the unquoted string.
// Remember!: use bind variables instead of PDO->quote()
-$a = array(null, "", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"');
+$a = array("", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"');
foreach ($a as $u) {
$q = $db->quote($u);
echo "Unquoted : "; And adjust the expectations accordingly. Can you please provide a separate PR for these fixes? |
I fixed the tests from PHP 8.0 up to master. Please merge (in order):
and then this PR, tests should pass in all PHP branches |
6f30896
to
286bf43
Compare
286bf43
to
b1ef9ed
Compare
b1ef9ed
to
b5eb335
Compare
This PR is done, fixed into PHP 8.0 and PHP 8.1 were merged, so tests should pass up too a master. Please merge into PHP 8.0. |
@cmb69 it seems CI fails randomly - see https://github.com/php/php-src/runs/7998206010?check_suite_focus=true#step:10:108 - do you have any idea how to debug this? Does all table names needs to be unique across all Oracle tests? Or can the tests all be marked somehow to be not run in parallel? |
According to https://stackoverflow.com/a/4842778/1692726, this may happen because:
So yes, I guess the easiest way to quick fix the issue for now is to add a |
If (almost) all tests could be conflicting, instead of a |
* PHP-8.0: Fix GH-8348 for nightly
* PHP-8.0: Fix GH-8348 for nightly
This reverts commit 34d9e08.
@mvorisek The OCI tests are very flaky. Could you please take a look at them? E.g: https://github.com/php/php-src/runs/8290051982?check_suite_focus=true#step:11:112 |
@kocsismate yes, please see #9430 (comment). It seems the |
I'm afraid that none of the core contributors uses oci8 at all, so this turns out to be difficult. Isn't there a possibility to set some connection timeout? |
IDK, probably not or the tests will require a big modifications, as the only params are accepted thru the DSN string in I do not use oci8 either, I have contributed this CI testing and we need robust support for our atk4/data PHP framework, where we want to support all major DB vendors. I understand the importance to keep the CI green and will try to debug these tests locally /w Oracle docker DB. |
close #8346