diff --git a/native/native.tests/testData/lldb/canInspectArrayChildren.kt b/native/native.tests/testData/lldb/canInspectArrayChildren.kt index 0a5b8ed8d09..f7681827229 100644 --- a/native/native.tests/testData/lldb/canInspectArrayChildren.kt +++ b/native/native.tests/testData/lldb/canInspectArrayChildren.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectArrayChildren.txt + fun main(args: Array) { val xs = intArrayOf(3, 5, 8) return diff --git a/native/native.tests/testData/lldb/canInspectArrays.kt b/native/native.tests/testData/lldb/canInspectArrays.kt index 1165129ccaf..3552596158a 100644 --- a/native/native.tests/testData/lldb/canInspectArrays.kt +++ b/native/native.tests/testData/lldb/canInspectArrays.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectArrays.txt + fun main(args: Array) { val xs = IntArray(3) xs[0] = 1 diff --git a/native/native.tests/testData/lldb/canInspectCatchParameter.kt b/native/native.tests/testData/lldb/canInspectCatchParameter.kt index b6fc66bbcdf..5b70434c85c 100644 --- a/native/native.tests/testData/lldb/canInspectCatchParameter.kt +++ b/native/native.tests/testData/lldb/canInspectCatchParameter.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectCatchParameter.txt + fun main() { try { throw Exception("message 1") diff --git a/native/native.tests/testData/lldb/canInspectClasses.kt b/native/native.tests/testData/lldb/canInspectClasses.kt index d1f3b8cb21b..8cb37fc6d49 100644 --- a/native/native.tests/testData/lldb/canInspectClasses.kt +++ b/native/native.tests/testData/lldb/canInspectClasses.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectClasses.txt + fun main(args: Array) { val point = Point(1, 2) val person = Person() diff --git a/native/native.tests/testData/lldb/canInspectStrings.kt b/native/native.tests/testData/lldb/canInspectStrings.kt index 35dd138417d..2592fb0828d 100644 --- a/native/native.tests/testData/lldb/canInspectStrings.kt +++ b/native/native.tests/testData/lldb/canInspectStrings.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectStrings.txt + fun main(args: Array) { val a = "string literal" val b = buildString { diff --git a/native/native.tests/testData/lldb/canInspectValuesOfPrimitiveTypes.kt b/native/native.tests/testData/lldb/canInspectValuesOfPrimitiveTypes.kt index 38ede90beda..cb21f19fceb 100644 --- a/native/native.tests/testData/lldb/canInspectValuesOfPrimitiveTypes.kt +++ b/native/native.tests/testData/lldb/canInspectValuesOfPrimitiveTypes.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canInspectValuesOfPrimitiveTypes.txt + fun main(args: Array) { var a: Byte = 1 var b: Int = 2 diff --git a/native/native.tests/testData/lldb/canStepThroughCode.kt b/native/native.tests/testData/lldb/canStepThroughCode.kt index 8bfc61d4928..6c37a3fab1b 100644 --- a/native/native.tests/testData/lldb/canStepThroughCode.kt +++ b/native/native.tests/testData/lldb/canStepThroughCode.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: canStepThroughCode.txt + fun main(args: Array) { var x = 1 var y = 2 diff --git a/native/native.tests/testData/lldb/kt33055.kt b/native/native.tests/testData/lldb/kt33055.kt index 55f449ef11e..a8e7af5638b 100644 --- a/native/native.tests/testData/lldb/kt33055.kt +++ b/native/native.tests/testData/lldb/kt33055.kt @@ -1,6 +1,6 @@ // KIND: STANDALONE_LLDB // FREE_COMPILER_ARGS: -Xg-generate-debug-trampoline=enable -// LLDB_TRACE: kt33055.txt + // FILE: kt33055.kt fun question(subject: String, names: Array = emptyArray()): String { return buildString { // breakpoint here diff --git a/native/native.tests/testData/lldb/kt33364.kt b/native/native.tests/testData/lldb/kt33364.kt index 27281d627fa..bab9aca995d 100644 --- a/native/native.tests/testData/lldb/kt33364.kt +++ b/native/native.tests/testData/lldb/kt33364.kt @@ -1,6 +1,6 @@ // KIND: STANDALONE_LLDB // FREE_COMPILER_ARGS: -Xg-generate-debug-trampoline=enable -// LLDB_TRACE: kt33364.txt + // FILE: kt33364.kt fun main() { val param = 3 diff --git a/native/native.tests/testData/lldb/kt42208.kt b/native/native.tests/testData/lldb/kt42208.kt index 5aed3457307..c3cc514f568 100644 --- a/native/native.tests/testData/lldb/kt42208.kt +++ b/native/native.tests/testData/lldb/kt42208.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: kt42208.txt + // FILE: kt42208-1.kt fun main() { foo()() diff --git a/native/native.tests/testData/lldb/kt42208WithPassingLambdaToAnotherFunction.kt b/native/native.tests/testData/lldb/kt42208WithPassingLambdaToAnotherFunction.kt index cf7019e76ac..67987a7bc46 100644 --- a/native/native.tests/testData/lldb/kt42208WithPassingLambdaToAnotherFunction.kt +++ b/native/native.tests/testData/lldb/kt42208WithPassingLambdaToAnotherFunction.kt @@ -1,6 +1,6 @@ // KIND: STANDALONE_LLDB // FREE_COMPILER_ARGS: -XXLanguage:+UnitConversionsOnArbitraryExpressions -// LLDB_TRACE: kt42208WithPassingLambdaToAnotherFunction.txt + // FILE: kt42208-1.kt fun main() { val a = foo() diff --git a/native/native.tests/testData/lldb/kt42208WithVariable.kt b/native/native.tests/testData/lldb/kt42208WithVariable.kt index 2383d5b149b..aaf0d0059cd 100644 --- a/native/native.tests/testData/lldb/kt42208WithVariable.kt +++ b/native/native.tests/testData/lldb/kt42208WithVariable.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: kt42208WithVariable.txt + // FILE: kt42208-1.kt fun main() { val a = foo() diff --git a/native/native.tests/testData/lldb/kt47198.kt b/native/native.tests/testData/lldb/kt47198.kt index 4a171057076..f3c89b7259e 100644 --- a/native/native.tests/testData/lldb/kt47198.kt +++ b/native/native.tests/testData/lldb/kt47198.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: kt47198.txt + // FILE: kt47198.kt fun foo(a:Int) = print("a: $a") diff --git a/native/native.tests/testData/lldb/kt47198WithBody.kt b/native/native.tests/testData/lldb/kt47198WithBody.kt index 022d0a6b5b5..4cb9ca5c65f 100644 --- a/native/native.tests/testData/lldb/kt47198WithBody.kt +++ b/native/native.tests/testData/lldb/kt47198WithBody.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: kt47198WithBody.txt + // FILE: kt47198.kt fun foo(a:Int){ print("a: ${'$'}a") diff --git a/native/native.tests/testData/lldb/kt61131.kt b/native/native.tests/testData/lldb/kt61131.kt index 43cecbea512..221f049f301 100644 --- a/native/native.tests/testData/lldb/kt61131.kt +++ b/native/native.tests/testData/lldb/kt61131.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: kt61131.txt + // FILE: kt61131-1.kt class FooImpl : Foo { override fun bar() = "zzz" diff --git a/native/native.tests/testData/lldb/stepThroughInlineArguments.kt b/native/native.tests/testData/lldb/stepThroughInlineArguments.kt index 56e77a497c6..3760b18b2e9 100644 --- a/native/native.tests/testData/lldb/stepThroughInlineArguments.kt +++ b/native/native.tests/testData/lldb/stepThroughInlineArguments.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: stepThroughInlineArguments.txt + // FILE: main.kt fun bar(x: Int): Int { val res = foo( diff --git a/native/native.tests/testData/samples/standalone_lldb_stepping.kt b/native/native.tests/testData/samples/standalone_lldb_stepping.kt index e90318d5621..a13e1490e65 100644 --- a/native/native.tests/testData/samples/standalone_lldb_stepping.kt +++ b/native/native.tests/testData/samples/standalone_lldb_stepping.kt @@ -1,5 +1,5 @@ // KIND: STANDALONE_LLDB -// LLDB_TRACE: standalone_lldb_stepping.txt + import kotlin.test.* fun main(args: Array) { diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/TestDirectives.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/TestDirectives.kt index 343b86b0240..6efcac638db 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/TestDirectives.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/TestDirectives.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.FREE_CINT import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.FREE_COMPILER_ARGS import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.INPUT_DATA_FILE import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.KIND -import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.LLDB_TRACE import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.OUTPUT_DATA_FILE import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.OUTPUT_REGEX import org.jetbrains.kotlin.konan.test.blackbox.support.TestDirectives.PROGRAM_ARGS @@ -136,12 +135,6 @@ internal object TestDirectives : SimpleDirectivesContainer() { description = "Specify free CInterop tool arguments" ) - val LLDB_TRACE by stringDirective( - description = """ - Specify a filename containing the LLDB commands and the patterns that - the output should match""".trimIndent(), - ) - // TODO "MUTED_WHEN" directive should be supported not only in AbstractNativeSimpleTest, but also in other hierarchies val MUTED_WHEN by enumDirective( description = """ @@ -327,13 +320,13 @@ internal fun parseEntryPoint(registeredDirectives: RegisteredDirectives, locatio return entryPoint } -internal fun parseLLDBSpec(baseDir: File, registeredDirectives: RegisteredDirectives, location: Location): LLDBSessionSpec { - val specFile = parseFileBasedDirective(baseDir, LLDB_TRACE, registeredDirectives, location) - ?: fail { "$location: An LLDB session specification must be provided" } +internal fun parseLLDBSpec(testDataFile: File): LLDBSessionSpec { + val specFileLocation = testDataFile.absolutePath.removeSuffix(testDataFile.extension) + "txt" + val specFile = File(specFileLocation) return try { LLDBSessionSpec.parse(specFile.readText()) } catch (e: Exception) { - Assertions.fail("$location: Cannot parse LLDB session specification: " + e.message, e) + Assertions.fail("${testDataFile.absolutePath}: Cannot parse LLDB session specification: " + e.message, e) } } diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/group/StandardTestCaseGroupProvider.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/group/StandardTestCaseGroupProvider.kt index 19ac6c12b09..0f14af7b0bf 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/group/StandardTestCaseGroupProvider.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/group/StandardTestCaseGroupProvider.kt @@ -204,13 +204,7 @@ internal class StandardTestCaseGroupProvider : TestCaseGroupProvider { fixPackageNames(testModules.values, nominalPackageName, testDataFile) } - val lldbSpec = if (testKind == TestKind.STANDALONE_LLDB) - parseLLDBSpec( - baseDir = testDataFile.parentFile, - registeredDirectives, - location - ) - else null + val lldbSpec = if (testKind == TestKind.STANDALONE_LLDB) parseLLDBSpec(testDataFile) else null val outputMatcher = lldbSpec?.let { OutputMatcher(Output.STDOUT) { output -> lldbSpec.checkLLDBOutput(output, settings.get()) }