Page MenuHomePhabricator

D19161.diff
No OneTemporary

D19161.diff

diff --git a/src/unit/parser/ArcanistGoTestResultParser.php b/src/unit/parser/ArcanistGoTestResultParser.php
--- a/src/unit/parser/ArcanistGoTestResultParser.php
+++ b/src/unit/parser/ArcanistGoTestResultParser.php
@@ -68,7 +68,7 @@
if (strncmp($line, 'ok', 2) === 0) {
$meta = array();
preg_match(
- '/^ok[\s\t]+(?P<test_name>\w.*)[\s\t]+(?P<time>.*)s.*/',
+ '/^ok[\s]+(?P<test_name>\w.*)[\s]+(?:(?P<time>.*)s|\(cached\))/',
$line,
$meta);
@@ -84,7 +84,10 @@
$result = new ArcanistUnitTestResult();
$result->setName($test_name);
$result->setResult(ArcanistUnitTestResult::RESULT_PASS);
- $result->setDuration((float)$meta['time']);
+
+ if (array_key_exists('time', $meta)) {
+ $result->setDuration((float)$meta['time']);
+ }
$results[] = $result;
} else {
diff --git a/src/unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php b/src/unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php
--- a/src/unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php
+++ b/src/unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php
@@ -103,6 +103,27 @@
}
}
+ public function testNonVerboseOutputV110() {
+ $stubbed_results = Filesystem::readFile(
+ dirname(__FILE__).'/testresults/go.nonverbose-go1.10');
+
+ $parsed_results = id(new ArcanistGoTestResultParser())
+ ->parseTestResults('package', $stubbed_results);
+
+ $this->assertEqual(2, count($parsed_results));
+ $this->assertEqual(
+ 'Go::TestCase::package::subpackage1',
+ $parsed_results[0]->getName());
+ $this->assertEqual(
+ 'Go::TestCase::package::subpackage2',
+ $parsed_results[1]->getName());
+ foreach ($parsed_results as $result) {
+ $this->assertEqual(
+ ArcanistUnitTestResult::RESULT_PASS,
+ $result->getResult());
+ }
+ }
+
public function testSingleTestCaseSuccessfulGo14() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.single-test-case-successful-go1.4');
diff --git a/src/unit/parser/__tests__/testresults/go.nonverbose-go1.10 b/src/unit/parser/__tests__/testresults/go.nonverbose-go1.10
new file mode 100644
--- /dev/null
+++ b/src/unit/parser/__tests__/testresults/go.nonverbose-go1.10
@@ -0,0 +1,2 @@
+ok package/subpackage1 (cached)
+ok package/subpackage2 0.010s

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 22, 1:58 PM (3 d, 20 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7394803
Default Alt Text
D19161.diff (2 KB)

Event Timeline