THRIFT-5756 Run php tests in github actions
diff --git a/lib/php/README.apache.md b/lib/php/README.apache.md
index 5e92589..2fae257 100644
--- a/lib/php/README.apache.md
+++ b/lib/php/README.apache.md
@@ -29,7 +29,7 @@
 
 Sample Code
 ===========
-
+```php
 <?php
 
 namespace MyNamespace;
@@ -72,3 +72,4 @@
 $transport->open();
 $processor->process($protocol, $protocol);
 $transport->close();
+```
diff --git a/lib/php/phpunit.xml b/lib/php/phpunit.xml
new file mode 100644
index 0000000..a5d287f
--- /dev/null
+++ b/lib/php/phpunit.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         bootstrap="../../vendor/autoload.php"
+         cacheResult="false"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         stopOnWarning="true"
+         stopOnFailure="true"
+         processIsolation="true"
+         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
+    <coverage includeUncoveredFiles="true">
+        <include>
+            <directory suffix=".php">./src</directory>
+            <directory suffix=".php">./lib</directory>
+        </include>
+    </coverage>
+    <testsuites>
+        <testsuite name="Thrift PHP Test Suite">
+            <directory>./test/Unit</directory>
+        </testsuite>
+    </testsuites>
+</phpunit>
diff --git a/lib/php/test/Fixtures.php b/lib/php/test/Fixtures/Fixtures.php
similarity index 99%
rename from lib/php/test/Fixtures.php
rename to lib/php/test/Fixtures/Fixtures.php
index fd57d83..eb348fc 100644
--- a/lib/php/test/Fixtures.php
+++ b/lib/php/test/Fixtures/Fixtures.php
@@ -21,7 +21,7 @@
  * @package thrift.test
  */
 
-namespace Test\Thrift;
+namespace Test\Thrift\Fixtures;
 
 use ThriftTest\Xtruct;
 use ThriftTest\Xtruct2;
diff --git a/lib/php/test/Protocol/TJSONProtocolFixtures.php b/lib/php/test/Fixtures/TJSONProtocolFixtures.php
similarity index 99%
rename from lib/php/test/Protocol/TJSONProtocolFixtures.php
rename to lib/php/test/Fixtures/TJSONProtocolFixtures.php
index dd9039f..81ada77 100644
--- a/lib/php/test/Protocol/TJSONProtocolFixtures.php
+++ b/lib/php/test/Fixtures/TJSONProtocolFixtures.php
@@ -21,7 +21,7 @@
  * @package thrift.test
  */
 
-namespace Test\Thrift\Protocol;
+namespace Test\Thrift\Fixtures;
 
 class TJSONProtocolFixtures
 {
diff --git a/lib/php/test/Protocol/TSimpleJSONProtocolFixtures.php b/lib/php/test/Fixtures/TSimpleJSONProtocolFixtures.php
similarity index 99%
rename from lib/php/test/Protocol/TSimpleJSONProtocolFixtures.php
rename to lib/php/test/Fixtures/TSimpleJSONProtocolFixtures.php
index 547fd86..448eb61 100644
--- a/lib/php/test/Protocol/TSimpleJSONProtocolFixtures.php
+++ b/lib/php/test/Fixtures/TSimpleJSONProtocolFixtures.php
@@ -21,7 +21,7 @@
  * @package thrift.test
  */
 
-namespace test\Thrift\Protocol;
+namespace Test\Thrift\Fixtures;
 
 class TSimpleJSONProtocolFixtures
 {
diff --git a/lib/php/test/Makefile.am b/lib/php/test/Makefile.am
index 30765c3..c2de405 100644
--- a/lib/php/test/Makefile.am
+++ b/lib/php/test/Makefile.am
@@ -19,37 +19,26 @@
 
 PHPUNIT=php $(top_srcdir)/vendor/bin/phpunit
 
-stubs: ../../../test/v0.16/ThriftTest.thrift  TestValidators.thrift
-	mkdir -p ./packages/php
-	$(THRIFT) --gen php -r --out ./packages/php ../../../test/v0.16/ThriftTest.thrift
-	mkdir -p ./packages/phpv
-	mkdir -p ./packages/phpvo
-	mkdir -p ./packages/phpjs
-	$(THRIFT) --gen php:validate     -r --out ./packages/phpv   TestValidators.thrift
-	$(THRIFT) --gen php:validate,oop -r --out ./packages/phpvo  TestValidators.thrift
-	$(THRIFT) --gen php:json         -r --out ./packages/phpjs  TestValidators.thrift
+stubs: Resources/ThriftTest.thrift
+	mkdir -p ./Resources/packages/php
+	mkdir -p ./Resources/packages/phpv
+	mkdir -p ./Resources/packages/phpvo
+	mkdir -p ./Resources/packages/phpjs
+	$(THRIFT) --gen php              -r --out ./Resources/packages/php    Resources/ThriftTest.thrift
+	$(THRIFT) --gen php:validate     -r --out ./Resources/packages/phpv   Resources/ThriftTest.thrift
+	$(THRIFT) --gen php:validate,oop -r --out ./Resources/packages/phpvo  Resources/ThriftTest.thrift
+	$(THRIFT) --gen php:json         -r --out ./Resources/packages/phpjs  Resources/ThriftTest.thrift
 
 deps: $(top_srcdir)/composer.json
 	composer install --working-dir=$(top_srcdir)
 
 all-local: deps
 
-check-json-serializer: deps stubs
-	$(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/
-
-check-validator: deps stubs
-	$(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/
-
-check-protocol:	deps stubs
-	$(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/
-
-check: deps stubs \
-  check-protocol \
-  check-validator \
-  check-json-serializer
+check: deps stubs
+	$(PHPUNIT) --log-junit=test-log-junit.xml -c phpunit.xml /
 
 distclean-local:
 
 clean-local:
-	$(RM) -r ./packages
-	$(RM) TEST-*.xml
+	$(RM) -r ./Resources/packages
+	$(RM) test-log-junit.xml
diff --git a/lib/php/test/TestValidators.thrift b/lib/php/test/Resources/ThriftTest.thrift
similarity index 94%
rename from lib/php/test/TestValidators.thrift
rename to lib/php/test/Resources/ThriftTest.thrift
index a980470..07ca6e4 100644
--- a/lib/php/test/TestValidators.thrift
+++ b/lib/php/test/Resources/ThriftTest.thrift
@@ -19,7 +19,7 @@
 
 namespace php TestValidators
 
-include "../../../test/v0.16/ThriftTest.thrift"
+include "../../../../test/v0.16/ThriftTest.thrift"
 
 union UnionOfStrings {
   1: string aa;
diff --git a/lib/php/test/Validator/BaseValidatorTest.php b/lib/php/test/Unit/BaseValidatorTest.php
similarity index 90%
rename from lib/php/test/Validator/BaseValidatorTest.php
rename to lib/php/test/Unit/BaseValidatorTest.php
index 6029083..4404e72 100644
--- a/lib/php/test/Validator/BaseValidatorTest.php
+++ b/lib/php/test/Unit/BaseValidatorTest.php
@@ -1,4 +1,5 @@
 <?php
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
@@ -18,7 +19,7 @@
  * under the License.
  */
 
-namespace Test\Thrift;
+namespace Test\Thrift\Unit;
 
 use PHPUnit\Framework\TestCase;
 use Thrift\Exception\TProtocolException;
@@ -62,6 +63,7 @@
         $transport = new TMemoryBuffer("\000");
         $protocol = new TBinaryProtocol($transport);
         $bonk->read($protocol);
+        $this->assertTrue(true);
     }
 
     public function testWriteEmpty()
@@ -73,6 +75,8 @@
             $bonk->write($protocol);
             $this->fail('Bonk was able to write an empty object');
         } catch (TProtocolException $e) {
+            $this->expectExceptionMessage('Required field Bonk.message is unset!');
+            throw $e;
         }
     }
 
@@ -87,6 +91,8 @@
             $structa->write($protocol);
             $this->fail('StructA was able to write an empty object');
         } catch (TProtocolException $e) {
+            $this->expectExceptionMessage('Required field StructA.s is unset!');
+            throw $e;
         }
     }
 
@@ -114,6 +120,8 @@
     {
         if (!static::hasReadValidator($class)) {
             static::fail($class . ' class should have a read validator');
+        } else {
+            static::assertTrue(true);
         }
     }
 
@@ -121,6 +129,8 @@
     {
         if (static::hasReadValidator($class)) {
             static::fail($class . ' class should not have a write validator');
+        } else {
+            static::assertTrue(true);
         }
     }
 
@@ -128,6 +138,8 @@
     {
         if (!static::hasWriteValidator($class)) {
             static::fail($class . ' class should have a write validator');
+        } else {
+            static::assertTrue(true);
         }
     }
 
@@ -135,6 +147,8 @@
     {
         if (static::hasWriteValidator($class)) {
             static::fail($class . ' class should not have a write validator');
+        } else {
+            static::assertTrue(true);
         }
     }
 
diff --git a/lib/php/test/Protocol/BinarySerializerTest.php b/lib/php/test/Unit/BinarySerializerTest.php
similarity index 72%
rename from lib/php/test/Protocol/BinarySerializerTest.php
rename to lib/php/test/Unit/BinarySerializerTest.php
index 71b0bb5..b97da74 100644
--- a/lib/php/test/Protocol/BinarySerializerTest.php
+++ b/lib/php/test/Unit/BinarySerializerTest.php
@@ -17,33 +17,26 @@
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
- *
- * @package thrift.test
  */
 
-namespace Test\Thrift\Protocol;
+namespace Test\Thrift\Unit;
 
 use PHPUnit\Framework\TestCase;
+use Thrift\ClassLoader\ThriftClassLoader;
 use Thrift\Serializer\TBinarySerializer;
 
-require __DIR__ . '/../../../../vendor/autoload.php';
-
 /***
- * This test suite depends on running the compiler against the
- * standard ThriftTest.thrift file:
- *
- * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r \
- *   --out ./packages ../../../test/ThriftTest.thrift
- *
- * @runTestsInSeparateProcesses
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r  --out ./Resources/packages/php ./Resources/ThriftTest.thrift
  */
 class BinarySerializerTest extends TestCase
 {
     public function setUp()
     {
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/php');
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->register();
     }
 
     /**
diff --git a/lib/php/test/JsonSerialize/JsonSerializeTest.php b/lib/php/test/Unit/JsonSerializeTest.php
similarity index 86%
rename from lib/php/test/JsonSerialize/JsonSerializeTest.php
rename to lib/php/test/Unit/JsonSerializeTest.php
index c668652..9fdc3f3 100644
--- a/lib/php/test/JsonSerialize/JsonSerializeTest.php
+++ b/lib/php/test/Unit/JsonSerializeTest.php
@@ -1,4 +1,5 @@
 <?php
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
@@ -18,26 +19,24 @@
  * under the License.
  */
 
-namespace Test\Thrift\JsonSerialize;
+namespace Test\Thrift\Unit;
 
 use PHPUnit\Framework\TestCase;
 use stdClass;
+use Thrift\ClassLoader\ThriftClassLoader;
 
-require __DIR__ . '/../../../../vendor/autoload.php';
-
-/**
- * @runTestsInSeparateProcesses
+/***
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php:json -r  --out ./Resources/packages/phpjs ./Resources/ThriftTest.thrift
  */
 class JsonSerializeTest extends TestCase
 {
     protected function setUp()
     {
-        if (version_compare(phpversion(), '5.4', '<')) {
-            $this->markTestSkipped('Requires PHP 5.4 or newer!');
-        }
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/phpjs');
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/phpjs');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/phpjs');
+        $loader->register();
     }
 
     public function testEmptyStruct()
diff --git a/lib/php/test/Protocol/TJSONProtocolTest.php b/lib/php/test/Unit/TJSONProtocolTest.php
similarity index 95%
rename from lib/php/test/Protocol/TJSONProtocolTest.php
rename to lib/php/test/Unit/TJSONProtocolTest.php
index bf0ecce..178d63b 100644
--- a/lib/php/test/Protocol/TJSONProtocolTest.php
+++ b/lib/php/test/Unit/TJSONProtocolTest.php
@@ -17,27 +17,20 @@
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
- *
- * @package thrift.test
  */
 
-namespace Test\Thrift\Protocol;
+namespace Test\Thrift\Unit;
 
 use PHPUnit\Framework\TestCase;
-use Test\Thrift\Fixtures;
+use Test\Thrift\Fixtures\Fixtures;
+use Test\Thrift\Fixtures\TJSONProtocolFixtures;
+use Thrift\ClassLoader\ThriftClassLoader;
 use Thrift\Protocol\TJSONProtocol;
 use Thrift\Transport\TMemoryBuffer;
 
-require __DIR__ . '/../../../../vendor/autoload.php';
-
 /***
- * This test suite depends on running the compiler against the
- * standard ThriftTest.thrift file:
- *
- * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r \
- *   --out ./packages ../../../test/ThriftTest.thrift
- *
- * @runTestsInSeparateProcesses
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r  --out ./Resources/packages/php ./Resources/ThriftTest.thrift
  */
 class TJSONProtocolTest extends TestCase
 {
@@ -46,9 +39,10 @@
 
     public static function setUpBeforeClass()
     {
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/php');
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->register();
 
         Fixtures::populateTestArgs();
         TJSONProtocolFixtures::populateTestArgsJSON();
@@ -265,7 +259,9 @@
             TJSONProtocolFixtures::$testArgsJSON['testVoid']
         );
         $args = new \ThriftTest\ThriftTest_testVoid_args();
-        $args->read($this->protocol);
+        $result = $args->read($this->protocol);
+
+        $this->assertEquals(0, $result);
     }
 
     public function testString1Read()
diff --git a/lib/php/test/Protocol/TSimpleJSONProtocolTest.php b/lib/php/test/Unit/TSimpleJSONProtocolTest.php
similarity index 91%
rename from lib/php/test/Protocol/TSimpleJSONProtocolTest.php
rename to lib/php/test/Unit/TSimpleJSONProtocolTest.php
index e4a1373..3189d99 100644
--- a/lib/php/test/Protocol/TSimpleJSONProtocolTest.php
+++ b/lib/php/test/Unit/TSimpleJSONProtocolTest.php
@@ -17,27 +17,20 @@
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
- *
- * @package thrift.test
  */
 
-namespace Test\Thrift\Protocol;
+namespace Test\Thrift\Unit;
 
 use PHPUnit\Framework\TestCase;
-use Test\Thrift\Fixtures;
+use Test\Thrift\Fixtures\Fixtures;
+use Test\Thrift\Fixtures\TSimpleJSONProtocolFixtures;
+use Thrift\ClassLoader\ThriftClassLoader;
 use Thrift\Protocol\TSimpleJSONProtocol;
 use Thrift\Transport\TMemoryBuffer;
 
-require __DIR__ . '/../../../../vendor/autoload.php';
-
 /***
- * This test suite depends on running the compiler against the
- * standard ThriftTest.thrift file:
- *
- * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r \
- *   --out ./packages ../../../test/ThriftTest.thrift
- *
- * @runTestsInSeparateProcesses
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php -r  --out ./Resources/packages/php ./Resources/ThriftTest.thrift
  */
 class TSimpleJSONProtocolTest extends TestCase
 {
@@ -46,10 +39,10 @@
 
     public static function setUpBeforeClass()
     {
-
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/php');
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/php');
+        $loader->register();
 
         Fixtures::populateTestArgs();
         TSimpleJSONProtocolFixtures::populateTestArgsSimpleJSON();
diff --git a/lib/php/test/Unit/ValidatorTest.php b/lib/php/test/Unit/ValidatorTest.php
new file mode 100644
index 0000000..06f6e55
--- /dev/null
+++ b/lib/php/test/Unit/ValidatorTest.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace Test\Thrift\Unit;
+
+use Thrift\ClassLoader\ThriftClassLoader;
+
+/***
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php:validate -r  --out ./Resources/packages/phpv ./Resources/ThriftTest.thrift
+ */
+class ValidatorTest extends BaseValidatorTest
+{
+    public function setUp()
+    {
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/phpv');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/phpv');
+        $loader->registerNamespace('TestValidators', __DIR__ . '/../Resources/packages/phpv');
+        $loader->registerDefinition('TestValidators', __DIR__ . '/../Resources/packages/phpv');
+        $loader->register();
+    }
+}
diff --git a/lib/php/test/Unit/ValidatorTestOop.php b/lib/php/test/Unit/ValidatorTestOop.php
new file mode 100644
index 0000000..79da11e
--- /dev/null
+++ b/lib/php/test/Unit/ValidatorTestOop.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace Test\Thrift\Unit;
+
+use Thrift\ClassLoader\ThriftClassLoader;
+
+/***
+ * This test suite depends on running the compiler against the ./Resources/ThriftTest.thrift file:
+ * lib/php/test$ ../../../compiler/cpp/thrift --gen php:validate,oop -r --out ./Resources/packages/phpvo ./Resources/ThriftTest.thrift
+ */
+class ValidatorTestOop extends BaseValidatorTest
+{
+    public function setUp()
+    {
+        $loader = new ThriftClassLoader();
+        $loader->registerNamespace('ThriftTest', __DIR__ . '/../Resources/packages/phpvo');
+        $loader->registerDefinition('ThriftTest', __DIR__ . '/../Resources/packages/phpvo');
+        $loader->registerNamespace('TestValidators', __DIR__ . '/../Resources/packages/phpvo');
+        $loader->registerDefinition('TestValidators', __DIR__ . '/../Resources/packages/phpvo');
+        $loader->register();
+    }
+}
diff --git a/lib/php/test/Validator/ValidatorTest.php b/lib/php/test/Validator/ValidatorTest.php
deleted file mode 100644
index fa6c7a9..0000000
--- a/lib/php/test/Validator/ValidatorTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-namespace Test\Thrift;
-
-require __DIR__ . '/../../../../vendor/autoload.php';
-
-use Thrift\ClassLoader\ThriftClassLoader;
-
-/**
- * Class TestValidators
- * @package Test\Thrift
- *
- * @runTestsInSeparateProcesses
- */
-class ValidatorTest extends BaseValidatorTest
-{
-    public function setUp()
-    {
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/phpv');
-    }
-}
diff --git a/lib/php/test/Validator/ValidatorTestOop.php b/lib/php/test/Validator/ValidatorTestOop.php
deleted file mode 100644
index 93bca4d..0000000
--- a/lib/php/test/Validator/ValidatorTestOop.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-namespace Test\Thrift;
-
-require_once __DIR__ . '/../../../../vendor/autoload.php';
-
-use Thrift\ClassLoader\ThriftClassLoader;
-
-/**
- * Class TestValidatorsOop
- * @package Test\Thrift
- *
- * @runTestsInSeparateProcesses
- */
-class ValidatorTestOop extends BaseValidatorTest
-{
-    public function setUp()
-    {
-        /** @var \Composer\Autoload\ClassLoader $loader */
-        $loader = require __DIR__ . '/../../../../vendor/autoload.php';
-        $loader->addPsr4('', __DIR__ . '/../packages/phpvo');
-    }
-}