Skip to content

Commit e7481d4

Browse files
fzhinkinSpace Team
authored andcommitted
[ABI Validation] Add more vertical spacing to KLib dumps
Fixes Kotlin/binary-compatibility-validator#196 Pull request Kotlin/binary-compatibility-validator#225 Moved from Kotlin/binary-compatibility-validator@3477c15
1 parent ef30bc3 commit e7481d4

File tree

45 files changed

+788
-11
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+788
-11
lines changed

libraries/tools/abi-validation/src/functionalTest/kotlin/kotlinx/validation/test/KlibVerificationTests.kt

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ private fun KlibVerificationTests.checkKlibDump(
3636

3737
val expected = readFileList(expectedDumpFileName)
3838

39-
Assertions.assertThat(generatedDump.readText()).isEqualToIgnoringNewLines(expected)
39+
Assertions.assertThat(generatedDump.readText()).isEqualTo(expected)
4040
}
4141

4242
internal class KlibVerificationTests : BaseKotlinGradleTest() {
@@ -155,7 +155,7 @@ internal class KlibVerificationTests : BaseKotlinGradleTest() {
155155
assertTrue(jvmApiDump.exists(), "No API dump for JVM")
156156

157157
val jvmExpected = readFileList("/examples/classes/AnotherBuildConfig.dump")
158-
Assertions.assertThat(jvmApiDump.readText()).isEqualToIgnoringNewLines(jvmExpected)
158+
Assertions.assertThat(jvmApiDump.readText()).isEqualTo(jvmExpected)
159159
}
160160
}
161161

@@ -357,6 +357,28 @@ internal class KlibVerificationTests : BaseKotlinGradleTest() {
357357
)
358358
}
359359

360+
@Test
361+
fun `check sorting for target-specific declarations`() {
362+
val runner = test {
363+
baseProjectSetting()
364+
addToSrcSet("/examples/classes/TopLevelDeclarations.kt")
365+
addToSrcSet("/examples/classes/TopLevelDeclarationsExp.kt")
366+
addToSrcSet("/examples/classes/TopLevelDeclarationsLinuxOnly.kt", "linuxMain")
367+
addToSrcSet("/examples/classes/TopLevelDeclarationsMingwOnly.kt", "mingwMain")
368+
addToSrcSet("/examples/classes/TopLevelDeclarationsAndroidOnly.kt", "androidNativeMain")
369+
370+
371+
runner {
372+
arguments.add(":klibApiDump")
373+
}
374+
}
375+
376+
checkKlibDump(
377+
runner.build(), "/examples/classes/TopLevelDeclarations.klib.diverging.dump",
378+
dumpTask = ":klibApiDump"
379+
)
380+
}
381+
360382
@Test
361383
fun `infer a dump for a target with custom name`() {
362384
val runner = test {

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.clash.dump

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@
99
// Library unique name: <testproject>
1010
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1111
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
12+
1213
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1314
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
15+
1416
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1517
}
18+
1619
// Targets: [linux]
1720
final fun (org.different.pack/BuildConfig).org.different.pack/linuxArm64Specific(): kotlin/Int // org.different.pack/linuxArm64Specific|[email protected](){}[0]

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.custom.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.linuxX64Only.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.renamedTarget.dump

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11-
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
11+
1212
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1313
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
15+
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfig.klib.web.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfigLinux.klib.grouping.dump

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@
99
// Library unique name: <testproject>
1010
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1111
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
12+
1213
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1314
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
15+
1416
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1517
}
18+
1619
// Targets: [linux]
1720
final fun (org.different.pack/BuildConfig).org.different.pack/linuxArm64Specific(): kotlin/Int // org.different.pack/linuxArm64Specific|[email protected](){}[0]

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfigLinuxArm64Extra.klib.dump

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
}
17+
1518
// Targets: [linuxArm64]
1619
final fun (org.different.pack/BuildConfig).org.different.pack/linuxArm64Specific(): kotlin/Int // org.different.pack/linuxArm64Specific|[email protected](){}[0]

libraries/tools/abi-validation/src/functionalTest/resources/examples/classes/AnotherBuildConfigModified.klib.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
// Library unique name: <testproject>
99
final class org.different.pack/BuildConfig { // org.different.pack/BuildConfig|null[0]
1010
constructor <init>() // org.different.pack/BuildConfig.<init>|<init>(){}[0]
11+
1112
final val p1 // org.different.pack/BuildConfig.p1|{}p1[0]
1213
final fun <get-p1>(): kotlin/Int // org.different.pack/BuildConfig.p1.<get-p1>|<get-p1>(){}[0]
14+
1315
final fun f1(): kotlin/Int // org.different.pack/BuildConfig.f1|f1(){}[0]
1416
final fun f2(): kotlin/Int // org.different.pack/BuildConfig.f2|f2(){}[0]
1517
}

0 commit comments

Comments
 (0)