1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-03-31 06:28:12 +02:00
phorge-arcanist/src/unit/engine/__tests__/GoTestResultParserTestCase.php
Joshua Spence d09beeb75c Remove @group annotations
Summary: I'm pretty sure that `@group` annotations are useless now... I believe that they were originally used by Diviner?

Test Plan: Eye-balled it.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin, aurelijus

Differential Revision: https://secure.phabricator.com/D9855
2014-07-09 09:12:13 +10:00

106 lines
3.4 KiB
PHP

<?php
/**
* Test for @{class:GoTestResultParser}.
*/
final class GoTestResultParserTestCase extends ArcanistTestCase {
public function testSingleTestCaseSuccessful() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.single-test-case-successful');
$parsed_results = id(new GoTestResultParser())
->parseTestResults('subpackage_test.go', $stubbed_results);
$this->assertEqual(2, count($parsed_results));
$this->assertEqual(
'Go::Test::package::subpackage::TestFoo',
$parsed_results[0]->getName());
foreach ($parsed_results as $result) {
$this->assertEqual(
ArcanistUnitTestResult::RESULT_PASS,
$result->getResult());
}
}
public function testSingleTestCaseFailure() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.single-test-case-failure');
$parsed_results = id(new GoTestResultParser())
->parseTestResults('subpackage_test.go', $stubbed_results);
$this->assertEqual(2, count($parsed_results));
$this->assertEqual(
ArcanistUnitTestResult::RESULT_FAIL,
$parsed_results[0]->getResult());
$this->assertEqual(
ArcanistUnitTestResult::RESULT_PASS,
$parsed_results[1]->getResult());
}
public function testMultipleTestCasesSuccessful() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.multiple-test-cases-successful');
$parsed_results = id(new GoTestResultParser())
->parseTestResults('package', $stubbed_results);
$this->assertEqual(3, count($parsed_results));
$this->assertEqual(
'Go::Test::package::subpackage1::TestFoo1',
$parsed_results[0]->getName());
$this->assertEqual(
'Go::Test::package::subpackage2::TestFoo2',
$parsed_results[2]->getName());
foreach ($parsed_results as $result) {
$this->assertEqual(
ArcanistUnitTestResult::RESULT_PASS,
$result->getResult());
}
}
public function testMultipleTestCasesFailure() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.multiple-test-cases-failure');
$parsed_results = id(new GoTestResultParser())
->parseTestResults('package', $stubbed_results);
$this->assertEqual(3, count($parsed_results));
$this->assertEqual(
'Go::Test::package::subpackage1::TestFoo1',
$parsed_results[0]->getName());
$this->assertEqual(
'Go::Test::package::subpackage2::TestFoo2',
$parsed_results[2]->getName());
$this->assertEqual(
ArcanistUnitTestResult::RESULT_PASS,
$parsed_results[0]->getResult());
$this->assertEqual(
ArcanistUnitTestResult::RESULT_FAIL,
$parsed_results[2]->getResult());
}
public function testNonVerboseOutput() {
$stubbed_results = Filesystem::readFile(
dirname(__FILE__).'/testresults/go.nonverbose');
$parsed_results = id(new GoTestResultParser())
->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());
}
}
}