Skip to content

Commit

Permalink
Delete TestSummary
Browse files Browse the repository at this point in the history
  • Loading branch information
cpisciotta committed Mar 12, 2024
1 parent 48b22d0 commit 492afd1
Show file tree
Hide file tree
Showing 8 changed files with 4 additions and 222 deletions.
53 changes: 4 additions & 49 deletions Sources/XcbeautifyLib/Parser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ package class Parser {

private let additionalLines: () -> String?

private(set) var summary: TestSummary?

private(set) var needToRecordSummary = false

private let preserveUnbeautifiedLines: Bool

package private(set) var outputType = OutputType.undefined
Expand Down Expand Up @@ -98,6 +94,10 @@ package class Parser {
PackageGraphResolvedItemCaptureGroup.self,
DuplicateLocalizedStringKeyCaptureGroup.self,
SwiftDriverJobDiscoveryEmittingModuleCaptureGroup.self,
ExecutedWithoutSkippedCaptureGroup.self,
ExecutedWithSkippedCaptureGroup.self,
TestSuiteAllTestsPassedCaptureGroup.self,
TestSuiteAllTestsFailedCaptureGroup.self,
]

// MARK: - Init
Expand Down Expand Up @@ -131,28 +131,6 @@ package class Parser {
guard let idx = captureGroupTypes.firstIndex(where: { $0.regex.match(string: line) }) else {
// Some uncommon cases, which have additional logic and don't follow default flow

if ExecutedWithoutSkippedCaptureGroup.regex.match(string: line) {
outputType = ExecutedWithoutSkippedCaptureGroup.outputType
parseSummary(line: line, colored: colored, skipped: false)
return nil
}

if ExecutedWithSkippedCaptureGroup.regex.match(string: line) {
outputType = ExecutedWithSkippedCaptureGroup.outputType
parseSummary(line: line, colored: colored, skipped: true)
return nil
}

if TestSuiteAllTestsPassedCaptureGroup.regex.match(string: line) {
needToRecordSummary = true
return nil
}

if TestSuiteAllTestsFailedCaptureGroup.regex.match(string: line) {
needToRecordSummary = true
return nil
}

// Nothing found?
outputType = OutputType.undefined
return preserveUnbeautifiedLines ? line : nil
Expand All @@ -176,27 +154,4 @@ package class Parser {

return formattedOutput
}

package func formattedSummary() -> String? {
guard let summary else { return nil }
return renderer.format(testSummary: summary)
}

// MARK: Private

private func parseSummary(line: String, colored: Bool, skipped: Bool) {
guard needToRecordSummary else { return }
defer { needToRecordSummary = false }

guard let _group: CaptureGroup = line.captureGroup(with: skipped ? ExecutedWithSkippedCaptureGroup.pattern : ExecutedWithoutSkippedCaptureGroup.pattern) else { return }
guard let group = _group as? ExecutedCaptureGroup else { return }

summary += TestSummary(
testsCount: group.numberOfTests,
skippedCount: group.numberOfSkipped,
failuresCount: group.numberOfFailures,
unexpectedCount: group.numberOfUnexpectedFailures,
time: group.wallClockTimeInSeconds
)
}
}
10 changes: 0 additions & 10 deletions Sources/XcbeautifyLib/Renderers/GitHubActionsRenderer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -218,16 +218,6 @@ struct GitHubActionsRenderer: OutputRendering {
message: warningMessage
)
}

func format(testSummary: TestSummary) -> String {
if testSummary.isSuccess() {
let message = "Tests Passed: \(testSummary.description)"
return outputGitHubActionsLog(annotationType: .notice, message: message)
} else {
let message = "Tests Failed: \(testSummary.description)"
return outputGitHubActionsLog(annotationType: .error, message: message)
}
}
}

private struct FileComponents {
Expand Down
2 changes: 0 additions & 2 deletions Sources/XcbeautifyLib/Renderers/OutputRendering.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ protocol OutputRendering {

func beautify(line: String, pattern: String, additionalLines: @escaping () -> (String?)) -> String?

func format(testSummary: TestSummary) -> String

func formatAnalyze(group: AnalyzeCaptureGroup) -> String
func formatCheckDependencies() -> String
func formatCleanRemove(group: CleanRemoveCaptureGroup) -> String
Expand Down
12 changes: 0 additions & 12 deletions Sources/XcbeautifyLib/Renderers/TerminalRenderer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,6 @@ struct TerminalRenderer: OutputRendering {
return colored ? Symbol.warning + " " + warningMessage.f.Yellow : Symbol.asciiWarning + " " + warningMessage
}

func formatSummary(line: String) -> String {
colored ? line.f.Green.s.Bold : line
}

func formatPackageFetching(group: PackageFetchingCaptureGroup) -> String {
let source = group.source
return "Fetching " + source
Expand Down Expand Up @@ -194,12 +190,4 @@ struct TerminalRenderer: OutputRendering {
func formatParallelTestingFailed(group: ParallelTestingFailedCaptureGroup) -> String {
colored ? group.wholeError.s.Bold.f.Red : group.wholeError
}

func format(testSummary: TestSummary) -> String {
if testSummary.isSuccess() {
colored ? "Tests Passed: \(testSummary.description)".s.Bold.f.Green : "Tests Passed: \(testSummary.description)"
} else {
colored ? "Tests Failed: \(testSummary.description)".s.Bold.f.Red : "Tests Failed: \(testSummary.description)"
}
}
}
33 changes: 0 additions & 33 deletions Sources/XcbeautifyLib/TestSummary.swift

This file was deleted.

4 changes: 0 additions & 4 deletions Sources/xcbeautify/Xcbeautify.swift
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,6 @@ struct Xcbeautify: ParsableCommand {
output.write(parser.outputType, formatted)
}

if let formattedSummary = parser.formattedSummary() {
output.write(.result, formattedSummary)
}

if !report.isEmpty {
let outputPath = URL(
fileURLWithPath: reportPath,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,45 +185,18 @@ final class GitHubActionsRendererTests: XCTestCase {
let input4 = "Executed 1 test, with 1 failure (1 unexpected) in 0.200 (0.200) seconds"

// First test plan
XCTAssertNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted1 = logFormatted(input1)
#if os(macOS)
// FIXME: Failing on Linux
XCTAssertTrue(parser.needToRecordSummary)
#endif
let formatted2 = logFormatted(input2)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted1)
XCTAssertNil(formatted2)

#if os(macOS)
// FIXME: Failing on Linux
var summary = try XCTUnwrap(parser.summary)

XCTAssertEqual(summary.testsCount, 3)
XCTAssertEqual(summary.failuresCount, 2)
XCTAssertEqual(summary.unexpectedCount, 1)
XCTAssertEqual(summary.skippedCount, 0)
XCTAssertEqual(summary.time, 0.112)

// Second test plan
XCTAssertNotNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted3 = logFormatted(input3)
XCTAssertTrue(parser.needToRecordSummary)
let formatted4 = logFormatted(input4)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted3)
XCTAssertNil(formatted4)

summary = try XCTUnwrap(parser.summary)

XCTAssertEqual(summary.testsCount, 4)
XCTAssertEqual(summary.failuresCount, 3)
XCTAssertEqual(summary.unexpectedCount, 2)
XCTAssertEqual(summary.skippedCount, 0)
XCTAssertEqual(summary.time, 0.312)
#endif
}

Expand All @@ -236,38 +209,16 @@ final class GitHubActionsRendererTests: XCTestCase {
let input4 = "Executed 1 test, with 1 test skipped and 1 failure (1 unexpected) in 3.000 (3.000) seconds"

// First test plan
XCTAssertNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted1 = logFormatted(input1)
XCTAssertTrue(parser.needToRecordSummary)
let formatted2 = logFormatted(input2)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted1)
XCTAssertNil(formatted2)
XCTAssertNotNil(parser.summary)

XCTAssertEqual(parser.summary?.testsCount, 56)
XCTAssertEqual(parser.summary?.failuresCount, 2)
XCTAssertEqual(parser.summary?.unexpectedCount, 1)
XCTAssertEqual(parser.summary?.skippedCount, 3)
XCTAssertEqual(parser.summary?.time, 1.029)

// Second test plan
XCTAssertNotNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted3 = logFormatted(input3)
XCTAssertTrue(parser.needToRecordSummary)
let formatted4 = logFormatted(input4)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted3)
XCTAssertNil(formatted4)
XCTAssertNotNil(parser.summary)

XCTAssertEqual(parser.summary?.testsCount, 57)
XCTAssertEqual(parser.summary?.failuresCount, 3)
XCTAssertEqual(parser.summary?.unexpectedCount, 2)
XCTAssertEqual(parser.summary?.skippedCount, 4)
XCTAssertEqual(parser.summary?.time, 4.029)
}
#endif

Expand Down Expand Up @@ -522,23 +473,16 @@ final class GitHubActionsRendererTests: XCTestCase {
#if os(macOS)
func testTestSuiteAllTestsPassed() {
let input = "Test Suite 'All tests' passed at 2022-01-15 21:31:49.073."

XCTAssertFalse(parser.needToRecordSummary)
let formatted = logFormatted(input)
XCTAssertNil(formatted)
XCTAssertTrue(parser.needToRecordSummary)
XCTAssertEqual(parser.outputType, .undefined)
}
#endif

#if os(macOS)
func testTestSuiteAllTestsFailed() {
let input = "Test Suite 'All tests' failed at 2022-01-15 21:31:49.073."

XCTAssertFalse(parser.needToRecordSummary)
let formatted = logFormatted(input)
XCTAssertNil(formatted)
XCTAssertTrue(parser.needToRecordSummary)
}
#endif

Expand Down
56 changes: 0 additions & 56 deletions Tests/XcbeautifyLibTests/RendererTests/TerminalRendererTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -165,45 +165,16 @@ final class TerminalRendererTests: XCTestCase {
let input4 = "Executed 1 test, with 1 failure (1 unexpected) in 0.200 (0.200) seconds"

// First test plan
XCTAssertNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted1 = noColoredFormatted(input1)
#if os(macOS)
// FIXME: Failing on Linux
XCTAssertTrue(parser.needToRecordSummary)
#endif
let formatted2 = noColoredFormatted(input2)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted1)
XCTAssertNil(formatted2)

#if os(macOS)
// FIXME: Failing on Linux
var summary = try XCTUnwrap(parser.summary)

XCTAssertEqual(summary.testsCount, 3)
XCTAssertEqual(summary.failuresCount, 2)
XCTAssertEqual(summary.unexpectedCount, 1)
XCTAssertEqual(summary.skippedCount, 0)
XCTAssertEqual(summary.time, 0.112)

// Second test plan
XCTAssertNotNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted3 = noColoredFormatted(input3)
XCTAssertTrue(parser.needToRecordSummary)
let formatted4 = noColoredFormatted(input4)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted3)
XCTAssertNil(formatted4)

summary = try XCTUnwrap(parser.summary)

XCTAssertEqual(summary.testsCount, 4)
XCTAssertEqual(summary.failuresCount, 3)
XCTAssertEqual(summary.unexpectedCount, 2)
XCTAssertEqual(summary.skippedCount, 0)
XCTAssertEqual(summary.time, 0.312)
#endif
}

Expand All @@ -216,38 +187,15 @@ final class TerminalRendererTests: XCTestCase {
let input4 = "Executed 1 test, with 1 test skipped and 1 failure (1 unexpected) in 3.000 (3.000) seconds"

// First test plan
XCTAssertNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted1 = noColoredFormatted(input1)
XCTAssertTrue(parser.needToRecordSummary)
let formatted2 = noColoredFormatted(input2)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted1)
XCTAssertNil(formatted2)
XCTAssertNotNil(parser.summary)

XCTAssertEqual(parser.summary?.testsCount, 56)
XCTAssertEqual(parser.summary?.failuresCount, 2)
XCTAssertEqual(parser.summary?.unexpectedCount, 1)
XCTAssertEqual(parser.summary?.skippedCount, 3)
XCTAssertEqual(parser.summary?.time, 1.029)

// Second test plan
XCTAssertNotNil(parser.summary)
XCTAssertFalse(parser.needToRecordSummary)
let formatted3 = noColoredFormatted(input3)
XCTAssertTrue(parser.needToRecordSummary)
let formatted4 = noColoredFormatted(input4)
XCTAssertFalse(parser.needToRecordSummary)
XCTAssertNil(formatted3)
XCTAssertNil(formatted4)
XCTAssertNotNil(parser.summary)

XCTAssertEqual(parser.summary?.testsCount, 57)
XCTAssertEqual(parser.summary?.failuresCount, 3)
XCTAssertEqual(parser.summary?.unexpectedCount, 2)
XCTAssertEqual(parser.summary?.skippedCount, 4)
XCTAssertEqual(parser.summary?.time, 4.029)
}
#endif

Expand Down Expand Up @@ -504,21 +452,17 @@ final class TerminalRendererTests: XCTestCase {
func testTestSuiteAllTestsPassed() {
let input = "Test Suite 'All tests' passed at 2022-01-15 21:31:49.073."

XCTAssertFalse(parser.needToRecordSummary)
let formatted = noColoredFormatted(input)
XCTAssertNil(formatted)
XCTAssertTrue(parser.needToRecordSummary)
}
#endif

#if os(macOS)
func testTestSuiteAllTestsFailed() {
let input = "Test Suite 'All tests' failed at 2022-01-15 21:31:49.073."

XCTAssertFalse(parser.needToRecordSummary)
let formatted = noColoredFormatted(input)
XCTAssertNil(formatted)
XCTAssertTrue(parser.needToRecordSummary)
}
#endif

Expand Down

0 comments on commit 492afd1

Please sign in to comment.