Dshafik\MySQL\Tests\MySqlShimTest::setUpBeforeClass PHP Method

setUpBeforeClass() public static method

public static setUpBeforeClass ( )
    public static function setUpBeforeClass()
    {
        error_reporting(E_ALL & ~E_DEPRECATED);
        if (getenv('TRAVIS') === false) {
            fwrite(STDERR, "=> Finding binaries\n");
            static::$bin['docker'] = $docker = exec('/usr/bin/env which docker');
            if (empty($docker)) {
                static::markTestSkipped('Docker is required to run these tests');
            }
            fwrite(STDERR, "=> Running Docker Container: ");
            static::$container = exec($docker . ' run -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -P -d  mysql/mysql-server:5.7');
            if (empty(static::$container)) {
                static::markTestSkipped("Unable to start docker container");
            }
            fwrite(STDERR, static::$container . "\n");
            fwrite(STDERR, "=> Finding MySQL Host: ");
            static::$host = exec($docker . ' port ' . self::$container . ' 3306');
            fwrite(STDERR, static::$host . "\n");
            fwrite(STDERR, "=> Waiting on mysqld to start:");
            $out = '';
            while (trim($out) != 'mysqld') {
                $out = exec(static::$bin['docker'] . ' exec ' . static::$container . ' ps ax | awk \'/mysqld/ {print $NF}\'');
            }
            fwrite(STDERR, " started\n");
            sleep(3);
            fwrite(STDERR, "=> Docker Container Running\n\n");
            return;
        }
        static::$host = 'localhost';
    }
MySqlShimTest