prevent notice on cli scripts
[phorkie.git] / src / phorkie / SetupCheck.php
index 557d85c5a3d002c0ec04f1cdc110c625d47c4e98..32fb79e2d2ef94aba344d2a53d04b80ccb9c23b7 100644 (file)
@@ -46,6 +46,13 @@ class SetupCheck
 
     public function checkConfigFiles()
     {
+        if (!isset($GLOBALS['phorkie']['cfgfiles'])
+            || count($GLOBALS['phorkie']['cfgfiles']) == 0
+        ) {
+            $this->info('No config files registered');
+            return;
+        }
+
         foreach ($GLOBALS['phorkie']['cfgfiles'] as $file => $loaded) {
             if ($loaded) {
                 $this->ok('Loaded config file: ' . Tools::foldPath($file));
@@ -101,8 +108,9 @@ class SetupCheck
         if ($retval !== 0) {
             $this->fail('Running git executable failed.');
         }
-        if (!preg_match('#^git version ([0-9.]+(rc[0-9]+)?)$#', $line, $matches)) {
+        if (!preg_match('#^git version ([0-9.]+(rc[0-9]+)?)(?: \(Apple Git-\d+\))?$#', $line, $matches)) {
             $this->fail('git version output format unexpected: ' . $line);
+            return;
         }
         if (version_compare($matches[1], '1.7.5') < 0) {
             $this->fail(
@@ -132,8 +140,13 @@ class SetupCheck
     public function checkMimeTypeDetection()
     {
         $rp = new Repository_Post();
-        if ($rp->getType('<?php echo "foo"; ?>') != 'php') {
-            $this->fail('MIME type detection fails');
+        $type = $rp->getType('<?php echo "foo"; ?>', true);
+        if ($type != 'php') {
+            $msg = 'MIME type detection fails';
+            if ($type instanceof \PEAR_Error) {
+                $msg .= '. Error: ' . $type->getMessage();
+            }
+            $this->fail($msg);
         }
     }