mirror of
https://github.com/OPSnet/Logchecker.git
synced 2026-01-16 18:04:27 -05:00
Catch unknown ripper error in logchecker proper
This commit is contained in:
@@ -8,7 +8,7 @@ use OrpheusNET\Logchecker\Exception\UnknownRipperException;
|
||||
|
||||
class Ripper
|
||||
{
|
||||
|
||||
public const UNKNOWN = 'unknown';
|
||||
public const WHIPPER = 'whipper';
|
||||
public const XLD = 'XLD';
|
||||
public const EAC = 'EAC';
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace OrpheusNET\Logchecker;
|
||||
|
||||
use OrpheusNET\Logchecker\Check\Ripper;
|
||||
use OrpheusNET\Logchecker\Exception\UnknownRipperException;
|
||||
use OrpheusNET\Logchecker\Parser\EAC\Translator;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
use Symfony\Component\Yaml\Exception\ParseException;
|
||||
@@ -108,9 +109,18 @@ class Logchecker
|
||||
} catch (\Exception $exc) {
|
||||
$this->Score = 0;
|
||||
$this->account('Could not detect log encoding, log is corrupt.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->ripper = Ripper::getRipper($this->log);
|
||||
} catch (UnknownRipperException $exc) {
|
||||
$this->Score = 0;
|
||||
$this->account('Unknown log file, could not determine ripper.');
|
||||
$this->ripper = Ripper::UNKNOWN;
|
||||
return;
|
||||
}
|
||||
|
||||
$this->ripper = Ripper::getRipper($this->log);
|
||||
if ($this->ripper === Ripper::WHIPPER) {
|
||||
$this->whipperParse();
|
||||
} else {
|
||||
|
||||
@@ -70,4 +70,17 @@ class LogcheckerTest extends TestCase
|
||||
);
|
||||
$this->assertSame($composer['version'], Logchecker::getLogcheckerVersion());
|
||||
}
|
||||
|
||||
public function testCheckUnknownLog(): void
|
||||
{
|
||||
$logchecker = new Logchecker();
|
||||
$logchecker->newFile(implode(DIRECTORY_SEPARATOR, [__DIR__, 'LogcheckerTest.php']));
|
||||
$logchecker->parse();
|
||||
|
||||
$this->assertSame(Ripper::UNKNOWN, $logchecker->getRipper());
|
||||
$this->assertNull($logchecker->getRipperVersion());
|
||||
$this->assertSame(0, $logchecker->getScore());
|
||||
$this->assertSame('en', $logchecker->getLanguage());
|
||||
$this->assertSame(['Unknown log file, could not determine ripper.'], $logchecker->getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user