kylekatarnls / multi-tester

@@ -125,7 +125,7 @@
Loading
125 125
        }
126 126
127 127
        $directories = [];
128 -
        $cwd = getcwd();
128 +
        $cwd = @getcwd() ?: '.';
129 129
        $state = [];
130 130
131 131
        foreach ($config->projects as $package => $settings) {

@@ -242,6 +242,24 @@
Loading
242 242
        $this->asArray($settings['clone']);
243 243
    }
244 244
245 +
    protected function getComposerProgram($settings)
246 +
    {
247 +
        if (isset($settings['composer'])) {
248 +
            $version = $settings['composer'];
249 +
250 +
            if (!file_exists("composer-$version.phar")) {
251 +
                copy(
252 +
                    "https://getcomposer.org/download/$version/composer.phar",
253 +
                    "composer-$version.phar"
254 +
                );
255 +
            }
256 +
257 +
            return "composer-$version.phar";
258 +
        }
259 +
260 +
        return 'composer';
261 +
    }
262 +
245 263
    /**
246 264
     * @param array $settings
247 265
     */
@@ -277,7 +295,9 @@
Loading
277 295
            $settings,
278 296
            'autoload',
279 297
            'autoload build script',
280 -
            'composer dump-autoload --optimize --no-interaction' . ($this->config->quiet ? ' --quiet' : '')
298 +
            $this->getComposerProgram($settings) .
299 +
                ' dump-autoload --optimize --no-interaction' .
300 +
                ($this->config->quiet ? ' --quiet' : '')
281 301
        );
282 302
    }
283 303
@@ -290,7 +310,9 @@
Loading
290 310
            $settings,
291 311
            'install',
292 312
            'install script',
293 -
            'composer install --no-interaction' . ($this->config->quiet ? ' --quiet' : '')
313 +
            $this->getComposerProgram($settings) .
314 +
                ' install --no-interaction' .
315 +
                ($this->config->quiet ? ' --quiet' : '')
294 316
        );
295 317
    }
296 318
Files Coverage
src/MultiTester 100.00%
Project Totals (13 files) 100.00%

No yaml found.

Create your codecov.yml to customize your Codecov experience

Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files. The size and color of each slice is representing the number of statements and the coverage, respectively.
Grid
Each block represents a single file in the project. The size and color of each block is represented by the number of statements and the coverage, respectively.
Loading