Skip to content

Commit 62228a2

Browse files
nielsdosramsey
authored andcommitted
Disable global state test on Windows
It looks like the config.w32 uses CHECK_HEADER_ADD_INCLUDE to add the include path to libxml into the search path. That doesn't happen in zend-test. To add to the Windows trouble, libxml is statically linked in, ext/libxml can only be built statically but ext/zend-test can be built both statically and dynamically. So the regression tests won't work in all possible configurations anyway on Windows. All of this is no problem on Linux because it just uses dynamic linking and pkg-config, without any magic. Signed-off-by: Ben Ramsey <[email protected]>
1 parent c283c3a commit 62228a2

6 files changed

+11
-6
lines changed

ext/dom/tests/libxml_global_state_entity_loader_bypass.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('dom')) die('skip dom extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('xmlreader')) die('skip xmlreader extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/zend_test/test.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "zend_smart_str.h"
3030
#include "zend_weakrefs.h"
3131

32-
#ifdef HAVE_LIBXML
32+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
3333
# include <libxml/globals.h>
3434
# include <libxml/parser.h>
3535
#endif
@@ -275,6 +275,7 @@ static ZEND_FUNCTION(zend_get_current_func_name)
275275
RETURN_STR(function_name);
276276
}
277277

278+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
278279
static ZEND_FUNCTION(zend_test_override_libxml_global_state)
279280
{
280281
ZEND_PARSE_PARAMETERS_NONE();
@@ -286,6 +287,7 @@ static ZEND_FUNCTION(zend_test_override_libxml_global_state)
286287
(void) xmlLineNumbersDefault(1);
287288
(void) xmlKeepBlanksDefault(0);
288289
}
290+
#endif
289291

290292
/* TESTS Z_PARAM_ITERABLE and Z_PARAM_ITERABLE_OR_NULL */
291293
static ZEND_FUNCTION(zend_iterable)

ext/zend_test/test.stub.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function zend_weakmap_dump(): array {}
6868

6969
function zend_get_current_func_name(): string {}
7070

71-
#ifdef HAVE_LIBXML
71+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
7272
function zend_test_override_libxml_global_state(): void {}
7373
#endif
7474

ext/zend_test/test_arginfo.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: 8cfd05fb9f7524837d23f92b185fcd30f964521f */
2+
* Stub hash: eb79a01021e58731bfbefab320569fbb0997276a */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0)
55
ZEND_END_ARG_INFO()
@@ -65,7 +65,7 @@ ZEND_END_ARG_INFO()
6565
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_get_current_func_name, 0, 0, IS_STRING, 0)
6666
ZEND_END_ARG_INFO()
6767

68-
#if defined(HAVE_LIBXML)
68+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
6969
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_override_libxml_global_state, 0, 0, IS_VOID, 0)
7070
ZEND_END_ARG_INFO()
7171
#endif
@@ -106,7 +106,7 @@ static ZEND_FUNCTION(zend_weakmap_attach);
106106
static ZEND_FUNCTION(zend_weakmap_remove);
107107
static ZEND_FUNCTION(zend_weakmap_dump);
108108
static ZEND_FUNCTION(zend_get_current_func_name);
109-
#if defined(HAVE_LIBXML)
109+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
110110
static ZEND_FUNCTION(zend_test_override_libxml_global_state);
111111
#endif
112112
static ZEND_FUNCTION(namespaced_func);
@@ -136,7 +136,7 @@ static const zend_function_entry ext_functions[] = {
136136
ZEND_FE(zend_weakmap_remove, arginfo_zend_weakmap_remove)
137137
ZEND_FE(zend_weakmap_dump, arginfo_zend_weakmap_dump)
138138
ZEND_FE(zend_get_current_func_name, arginfo_zend_get_current_func_name)
139-
#if defined(HAVE_LIBXML)
139+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
140140
ZEND_FE(zend_test_override_libxml_global_state, arginfo_zend_test_override_libxml_global_state)
141141
#endif
142142
ZEND_NS_FE("ZendTestNS2\\ZendSubNS", namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func)

0 commit comments

Comments
 (0)