Skip to content

Commit c7dfd82

Browse files
committed
Replace selectedType with custom testoType field for bench type
selectedType is a PhpTestRunnerSettings field tied to Scope.Type, which breaks normal test/method run configurations. Use our own testoType attribute in TestoRunnerSettings instead. https://claude.ai/code/session_01TmFvjfMtoxTvddQRBzsbPN
1 parent f7af254 commit c7dfd82

4 files changed

Lines changed: 15 additions & 11 deletions

File tree

src/main/kotlin/com/github/xepozz/testo/tests/run/TestoRunConfigurationHandler.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ class TestoRunConfigurationHandler : PhpTestRunConfigurationHandler {
3232
fun prepareArguments(arguments: MutableList<String?>, testoSettings: TestoRunConfigurationSettings) {
3333
val runner = testoSettings.runnerSettings
3434

35-
if (runner.selectedType.isNotEmpty()) {
35+
if (runner.testoType.isNotEmpty()) {
3636
arguments.add("--type")
37-
arguments.add(runner.selectedType)
37+
arguments.add(runner.testoType)
3838
}
3939
if (runner.suite.isNotEmpty()) {
4040
arguments.add("--suite")

src/main/kotlin/com/github/xepozz/testo/tests/run/TestoRunConfigurationProducer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class TestoRunConfigurationProducer : PhpTestConfigurationProducer<TestoRunConfi
6969
testRunnerSettings.dataSetIndex = -1
7070

7171
if (function.isTestoBench()) {
72-
testRunnerSettings.selectedType = BENCH_TYPE
72+
testRunnerSettings.testoType = BENCH_TYPE
7373
}
7474

7575
return element
@@ -120,7 +120,7 @@ class TestoRunConfigurationProducer : PhpTestConfigurationProducer<TestoRunConfi
120120
}
121121
val result = super.setupConfiguration(testRunnerSettings, element, virtualFile)
122122
if (element.isTestoBench()) {
123-
testRunnerSettings.selectedType = BENCH_TYPE
123+
testRunnerSettings.testoType = BENCH_TYPE
124124
}
125125
return result
126126
}

src/main/kotlin/com/github/xepozz/testo/tests/run/TestoRunnerSettings.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ class TestoRunnerSettings(
2929

3030
@Attribute("parallel")
3131
var parallel: Int = 0,
32+
33+
@Attribute("testo_type")
34+
var testoType: String = "",
3235
) : PhpTestRunnerSettings() {
3336
companion object Companion {
3437
@JvmStatic
@@ -55,6 +58,7 @@ class TestoRunnerSettings(
5558
runnerSettings.excludeGroup = settings.excludeGroup
5659
runnerSettings.repeat = settings.repeat
5760
runnerSettings.parallel = settings.parallel
61+
runnerSettings.testoType = settings.testoType
5862
}
5963

6064
return runnerSettings

src/test/kotlin/com/github/xepozz/testo/TestoRunConfigurationHandlerTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ class TestoRunConfigurationHandlerTest : TestCase() {
5252
assertTrue("No arguments should be added for default settings", arguments.isEmpty())
5353
}
5454

55-
fun testPrepareArguments_withSelectedType_bench() {
55+
fun testPrepareArguments_withTestoType_bench() {
5656
val settings = TestoRunConfigurationSettings()
57-
settings.runnerSettings.selectedType = "bench"
57+
settings.runnerSettings.testoType = "bench"
5858
val arguments = mutableListOf<String?>()
5959

6060
TestoRunConfigurationHandler.INSTANCE.prepareArguments(arguments, settings)
@@ -64,14 +64,14 @@ class TestoRunConfigurationHandlerTest : TestCase() {
6464
assertEquals("bench", arguments[1])
6565
}
6666

67-
fun testPrepareArguments_withSelectedType_empty_skipped() {
67+
fun testPrepareArguments_withTestoType_empty_skipped() {
6868
val settings = TestoRunConfigurationSettings()
69-
settings.runnerSettings.selectedType = ""
69+
settings.runnerSettings.testoType = ""
7070
val arguments = mutableListOf<String?>()
7171

7272
TestoRunConfigurationHandler.INSTANCE.prepareArguments(arguments, settings)
7373

74-
assertTrue("Empty selectedType should not add arguments", arguments.isEmpty())
74+
assertTrue("Empty testoType should not add arguments", arguments.isEmpty())
7575
}
7676

7777
fun testPrepareArguments_withSuite() {
@@ -147,7 +147,7 @@ class TestoRunConfigurationHandlerTest : TestCase() {
147147

148148
fun testPrepareArguments_allOptions() {
149149
val settings = TestoRunConfigurationSettings()
150-
settings.runnerSettings.selectedType = "bench"
150+
settings.runnerSettings.testoType = "bench"
151151
settings.runnerSettings.suite = "integration"
152152
settings.runnerSettings.group = "db"
153153
settings.runnerSettings.excludeGroup = "slow"
@@ -174,7 +174,7 @@ class TestoRunConfigurationHandlerTest : TestCase() {
174174

175175
fun testPrepareArguments_orderIsCorrect() {
176176
val settings = TestoRunConfigurationSettings()
177-
settings.runnerSettings.selectedType = "bench"
177+
settings.runnerSettings.testoType = "bench"
178178
settings.runnerSettings.suite = "unit"
179179
settings.runnerSettings.group = "fast"
180180
settings.runnerSettings.parallel = 2

0 commit comments

Comments
 (0)