Changeset View
Changeset View
Standalone View
Standalone View
src/unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php
<?php | <?php | ||||
/** | /** | ||||
* Test for @{class:ArcanistGoTestResultParser}. | * Test for @{class:ArcanistGoTestResultParser}. | ||||
*/ | */ | ||||
final class ArcanistGoTestResultParserTestCase extends PhutilTestCase { | final class ArcanistGoTestResultParserTestCase extends PhutilTestCase { | ||||
public function testSingleTestCaseSuccessful() { | public function testSingleTestCaseSuccessful() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.single-test-case-successful'); | __DIR__.'/testresults/go.single-test-case-successful'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('subpackage_test.go', $stubbed_results); | ->parseTestResults('subpackage_test.go', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage::TestFoo', | 'Go::Test::package::subpackage::TestFoo', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testSingleTestCaseFailure() { | public function testSingleTestCaseFailure() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.single-test-case-failure'); | __DIR__.'/testresults/go.single-test-case-failure'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('subpackage_test.go', $stubbed_results); | ->parseTestResults('subpackage_test.go', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_FAIL, | ArcanistUnitTestResult::RESULT_FAIL, | ||||
$parsed_results[0]->getResult()); | $parsed_results[0]->getResult()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$parsed_results[1]->getResult()); | $parsed_results[1]->getResult()); | ||||
} | } | ||||
public function testMultipleTestCasesSuccessful() { | public function testMultipleTestCasesSuccessful() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.multiple-test-cases-successful'); | __DIR__.'/testresults/go.multiple-test-cases-successful'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(3, count($parsed_results)); | $this->assertEqual(3, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage1::TestFoo1', | 'Go::Test::package::subpackage1::TestFoo1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage2::TestFoo2', | 'Go::Test::package::subpackage2::TestFoo2', | ||||
$parsed_results[2]->getName()); | $parsed_results[2]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testMultipleTestCasesFailure() { | public function testMultipleTestCasesFailure() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.multiple-test-cases-failure'); | __DIR__.'/testresults/go.multiple-test-cases-failure'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(3, count($parsed_results)); | $this->assertEqual(3, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage1::TestFoo1', | 'Go::Test::package::subpackage1::TestFoo1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage2::TestFoo2', | 'Go::Test::package::subpackage2::TestFoo2', | ||||
$parsed_results[2]->getName()); | $parsed_results[2]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$parsed_results[0]->getResult()); | $parsed_results[0]->getResult()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_FAIL, | ArcanistUnitTestResult::RESULT_FAIL, | ||||
$parsed_results[2]->getResult()); | $parsed_results[2]->getResult()); | ||||
} | } | ||||
public function testNonVerboseOutput() { | public function testNonVerboseOutput() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.nonverbose'); | __DIR__.'/testresults/go.nonverbose'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage1', | 'Go::TestCase::package::subpackage1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage2', | 'Go::TestCase::package::subpackage2', | ||||
$parsed_results[1]->getName()); | $parsed_results[1]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testNonVerboseOutputV110() { | public function testNonVerboseOutputV110() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.nonverbose-go1.10'); | __DIR__.'/testresults/go.nonverbose-go1.10'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage1', | 'Go::TestCase::package::subpackage1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage2', | 'Go::TestCase::package::subpackage2', | ||||
$parsed_results[1]->getName()); | $parsed_results[1]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testSingleTestCaseSuccessfulGo14() { | public function testSingleTestCaseSuccessfulGo14() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.single-test-case-successful-go1.4'); | __DIR__.'/testresults/go.single-test-case-successful-go1.4'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('subpackage_test.go', $stubbed_results); | ->parseTestResults('subpackage_test.go', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage::TestFoo', | 'Go::Test::package::subpackage::TestFoo', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testSingleTestCaseFailureGo14() { | public function testSingleTestCaseFailureGo14() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.single-test-case-failure-go1.4'); | __DIR__.'/testresults/go.single-test-case-failure-go1.4'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('subpackage_test.go', $stubbed_results); | ->parseTestResults('subpackage_test.go', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_FAIL, | ArcanistUnitTestResult::RESULT_FAIL, | ||||
$parsed_results[0]->getResult()); | $parsed_results[0]->getResult()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$parsed_results[1]->getResult()); | $parsed_results[1]->getResult()); | ||||
} | } | ||||
public function testNonVerboseOutputGo14() { | public function testNonVerboseOutputGo14() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.nonverbose-go1.4'); | __DIR__.'/testresults/go.nonverbose-go1.4'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(2, count($parsed_results)); | $this->assertEqual(2, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage1', | 'Go::TestCase::package::subpackage1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::TestCase::package::subpackage2', | 'Go::TestCase::package::subpackage2', | ||||
$parsed_results[1]->getName()); | $parsed_results[1]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testMultipleTestCasesSuccessfulGo14() { | public function testMultipleTestCasesSuccessfulGo14() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.multiple-test-cases-successful-go1.4'); | __DIR__.'/testresults/go.multiple-test-cases-successful-go1.4'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(3, count($parsed_results)); | $this->assertEqual(3, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage1::TestFoo1', | 'Go::Test::package::subpackage1::TestFoo1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage2::TestFoo2', | 'Go::Test::package::subpackage2::TestFoo2', | ||||
$parsed_results[2]->getName()); | $parsed_results[2]->getName()); | ||||
foreach ($parsed_results as $result) { | foreach ($parsed_results as $result) { | ||||
$this->assertEqual( | $this->assertEqual( | ||||
ArcanistUnitTestResult::RESULT_PASS, | ArcanistUnitTestResult::RESULT_PASS, | ||||
$result->getResult()); | $result->getResult()); | ||||
} | } | ||||
} | } | ||||
public function testMultipleTestCasesFailureGo14() { | public function testMultipleTestCasesFailureGo14() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/go.multiple-test-cases-failure-go1.4'); | __DIR__.'/testresults/go.multiple-test-cases-failure-go1.4'); | ||||
$parsed_results = id(new ArcanistGoTestResultParser()) | $parsed_results = id(new ArcanistGoTestResultParser()) | ||||
->parseTestResults('package', $stubbed_results); | ->parseTestResults('package', $stubbed_results); | ||||
$this->assertEqual(3, count($parsed_results)); | $this->assertEqual(3, count($parsed_results)); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
'Go::Test::package::subpackage1::TestFoo1', | 'Go::Test::package::subpackage1::TestFoo1', | ||||
$parsed_results[0]->getName()); | $parsed_results[0]->getName()); | ||||
Show All 11 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0