Skip to content

Commit 64c30e3

Browse files
authored
Merge pull request #894 from MarathonLabs/fix/ios-test-run-parser
feat(ios): support arbitrary strings in TestRunProgressParser as iden…
2 parents 379a9a3 + 13e41ce commit 64c30e3

File tree

6 files changed

+36
-8
lines changed

6 files changed

+36
-8
lines changed

vendor/vendor-ios/src/main/kotlin/com/malinskiy/marathon/ios/logparser/parser/TestRunProgressParser.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class TestRunProgressParser(
1818

1919
val logger = MarathonLogging.logger(TestRunProgressParser::class.java.simpleName)
2020

21-
val TEST_CASE_STARTED = """Test Case '-\[([a-zA-Z0-9_.]+) ([a-zA-Z0-9_ ]+)]' started\.""".toRegex()
21+
val TEST_CASE_STARTED = """Test Case '-\[(.+) (.+)]' started\.""".toRegex()
2222
val TEST_CASE_FINISHED =
23-
"""Test Case '-\[([a-zA-Z0-9_.]+) ([a-zA-Z0-9_ ]+)]' (passed|failed|skipped) \(([\d\.]+) seconds\)\.""".toRegex()
23+
"""Test Case '-\[(.+) (.+)]' (passed|failed|skipped) \(([\d\.]+) seconds\)\.""".toRegex()
2424

2525
/**
2626
* $1 = file

vendor/vendor-ios/src/test/kotlin/com/malinskiy/marathon/ios/logparser/parser/TestRunProgressParserTest.kt

+15-6
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class TestRunProgressParserTest {
4242
val parser = TestRunProgressParser(mockTimer, "testTarget")
4343

4444
val events = mutableListOf<TestEvent>()
45-
javaClass.getResourceAsStream("/fixtures/test_output/patrol.log").bufferedReader().use {
45+
javaClass.getResourceAsStream("/fixtures/test_output/patrol_0.log").bufferedReader().use {
4646
it.lines().forEach { line ->
4747
parser.process(line)?.let {
4848
events.addAll(it)
@@ -51,7 +51,7 @@ class TestRunProgressParserTest {
5151
}
5252

5353
assertThat(events.map { it.toString() }.reduce { acc, s -> acc + "\n" + s })
54-
.isEqualTo(javaClass.getResourceAsStream("/fixtures/test_output/patrol.expected").reader().readText().trimEnd())
54+
.isEqualTo(javaClass.getResourceAsStream("/fixtures/test_output/patrol_0.expected").reader().readText().trimEnd())
5555
}
5656

5757
@Test
@@ -89,10 +89,19 @@ class TestRunProgressParserTest {
8989
}
9090

9191
@Test
92-
fun testX() {
93-
val parser = TestRunProgressParser(mockTimer, "")
92+
fun testSample4() {
93+
val parser = TestRunProgressParser(mockTimer, "testTarget")
9494

95-
// """Test Case '-[sample_appUITests.MoreTests testPresentModal]' started."""
96-
parser.process("""Test Case '-[RunnerUITests androidAppTest___tapsAround]' started.""")
95+
val events = mutableListOf<TestEvent>()
96+
javaClass.getResourceAsStream("/fixtures/test_output/patrol_1.log").bufferedReader().use {
97+
it.lines().forEach { line ->
98+
parser.process(line)?.let {
99+
events.addAll(it)
100+
}
101+
}
102+
}
103+
104+
assertThat(events.map { it.toString() }.reduce { acc, s -> acc + "\n" + s })
105+
.isEqualTo(javaClass.getResourceAsStream("/fixtures/test_output/patrol_1.expected").reader().readText().trimEnd())
97106
}
98107
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
TestStarted(id=Test(pkg=testTarget, clazz=RunnerUITests, method=ab.example_test+tty, metaProperties=[]))
2+
TestPassed(id=Test(pkg=testTarget, clazz=RunnerUITests, method=ab.example_test+tty, metaProperties=[]), startTime=1537187695794, endTime=1537187696000)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Test Suite 'All tests' started at 2024-02-07 13:58:21.952
2+
Test Suite 'marathon.xctest' started at 2024-02-07 13:58:21.953
3+
Test Suite 'RunnerUITests' started at 2024-02-07 13:58:21.953
4+
t = nans Suite Tear Down
5+
Test Case '-[RunnerUITests ab.example_test+tty]' started.
6+
Test Case '-[RunnerUITests ab.example_test+tty]' passed (0.206 seconds).
7+
Test Suite 'RunnerUITests' passed at 2024-02-07 13:58:22.159.
8+
Executed 1 test, with 0 failures (0 unexpected) in 0.206 (0.206) seconds
9+
Test Suite 'marathon.xctest' passed at 2024-02-07 13:58:22.160.
10+
Executed 1 test, with 0 failures (0 unexpected) in 0.206 (0.207) seconds
11+
Test Suite 'All tests' passed at 2024-02-07 13:58:22.160.
12+
Executed 1 test, with 0 failures (0 unexpected) in 0.206 (0.207) seconds
13+
14+
Test session results, code coverage, and logs:
15+
/Users/xxx/Library/Developer/Xcode/DerivedData/temporary-asdgsga/Logs/Test/Test-Transient Testing-2024.02.07_13-57-27-+0000.xcresult
16+
17+
** TEST EXECUTE SUCCEEDED **

0 commit comments

Comments
 (0)