fix tests for master
[m6w6/ext-http] / tests / skipif.inc
index 0f10264ce5bfe555a9b2d656468159ccda3563a1..770cf5d32acb9d769d9bf23693fc584270a858c8 100644 (file)
@@ -1,3 +1,33 @@
 <?php
 function _ext($ext) { extension_loaded($ext) or die("skip $ext extension needed\n"); }
 _ext("http");
+
+function skip_online_test($message = "skip test requiring internet connection\n") {
+       if (getenv("SKIP_ONLINE_TESTS")) {
+               die($message);
+       }
+}
+
+function skip_slow_test($message = "skip slow test\n") {
+       if (getenv("SKIP_SLOW_TESTS")) {
+               die($message);
+       }
+}
+
+function skip_client_test($message = "skip need a client driver\n") {
+       if (!http\Client::getAvailableDrivers()) {
+               die($message);
+       }
+}
+
+function skip_http2_test($message = "skip need http2 support (nghttpd in PATH)\n") {
+       if (defined("http\\Client\\Curl\\HTTP_VERSION_2_0")
+       && (http\Client\Curl\FEATURES & http\Client\Curl\Features\HTTP2)) {
+               foreach (explode(":", $_ENV["PATH"]) as $path) {
+                       if (is_executable($path . "/nghttpd")) {
+                               return;
+                       }
+               }
+       }
+       die($message);
+}
\ No newline at end of file