diff --git a/compiler/tests-common-new/build.gradle.kts b/compiler/tests-common-new/build.gradle.kts
index 8317f56..3c02580 100644
--- a/compiler/tests-common-new/build.gradle.kts
+++ b/compiler/tests-common-new/build.gradle.kts
@@ -12,6 +12,7 @@
     testImplementation(project(":compiler:ir.tree"))
     testImplementation(project(":compiler:backend.jvm.entrypoint"))
     testImplementation(project(":compiler:backend.jvm.lower"))
+    testImplementation(project(":kotlin-util-klib-abi"))
     testImplementation(intellijCore())
     testImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
 
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/KlibAbiDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/KlibAbiDumpHandler.kt
similarity index 93%
rename from compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/KlibAbiDumpHandler.kt
rename to compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/KlibAbiDumpHandler.kt
index c32881c..e40a158 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/KlibAbiDumpHandler.kt
+++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/KlibAbiDumpHandler.kt
@@ -1,15 +1,15 @@
 /*
- * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
  * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
  */
 
-package org.jetbrains.kotlin.library.abi.handlers
+package org.jetbrains.kotlin.test.backend.handlers
 
 import org.jetbrains.kotlin.library.KotlinIrSignatureVersion
 import org.jetbrains.kotlin.library.abi.*
 import org.jetbrains.kotlin.library.abi.AbiReadingFilter.*
-import org.jetbrains.kotlin.library.abi.directives.KlibAbiDumpDirectives
 import org.jetbrains.kotlin.library.abi.impl.AbiSignatureVersions
+import org.jetbrains.kotlin.test.directives.KlibAbiDumpDirectives
 import org.jetbrains.kotlin.test.model.ArtifactKinds
 import org.jetbrains.kotlin.test.model.BinaryArtifactHandler
 import org.jetbrains.kotlin.test.model.BinaryArtifacts
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/KlibAbiDumpDirectives.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/KlibAbiDumpDirectives.kt
similarity index 92%
rename from compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/KlibAbiDumpDirectives.kt
rename to compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/KlibAbiDumpDirectives.kt
index 46264b7..e4aa778 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/KlibAbiDumpDirectives.kt
+++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/KlibAbiDumpDirectives.kt
@@ -1,9 +1,9 @@
 /*
- * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
  * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
  */
 
-package org.jetbrains.kotlin.library.abi.directives
+package org.jetbrains.kotlin.test.directives
 
 import org.jetbrains.kotlin.library.abi.AbiCompoundName
 import org.jetbrains.kotlin.library.abi.AbiQualifiedName
diff --git a/compiler/util-klib-abi/src/org/jetbrains/kotlin/library/abi/impl/LibraryAbiImpl.kt b/compiler/util-klib-abi/src/org/jetbrains/kotlin/library/abi/impl/LibraryAbiImpl.kt
index e350ac5..cb99a3d 100644
--- a/compiler/util-klib-abi/src/org/jetbrains/kotlin/library/abi/impl/LibraryAbiImpl.kt
+++ b/compiler/util-klib-abi/src/org/jetbrains/kotlin/library/abi/impl/LibraryAbiImpl.kt
@@ -10,7 +10,7 @@
 import org.jetbrains.kotlin.metadata.deserialization.Flags.FlagField
 
 @ExperimentalLibraryAbiReader
-internal object AbiSignatureVersions {
+object AbiSignatureVersions {
     enum class Supported(override val versionNumber: Int, override val description: String) : AbiSignatureVersion {
         V1(1, "The signatures with hashes"),
         V2(2, "The self-descriptive signatures (with mangled names)");
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
index 42a8a2a..0758e60 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
@@ -7,13 +7,13 @@
 
 import org.jetbrains.kotlin.js.test.converters.FirJsKlibSerializerFacade
 import org.jetbrains.kotlin.js.test.converters.JsKlibSerializerFacade
-import org.jetbrains.kotlin.library.abi.handlers.KlibAbiDumpHandler
 import org.jetbrains.kotlin.platform.TargetPlatform
 import org.jetbrains.kotlin.platform.js.JsPlatforms
 import org.jetbrains.kotlin.test.Constructor
 import org.jetbrains.kotlin.test.FirParser
 import org.jetbrains.kotlin.test.TargetBackend
 import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
+import org.jetbrains.kotlin.test.backend.handlers.KlibAbiDumpHandler
 import org.jetbrains.kotlin.test.backend.handlers.NoCompilationErrorsHandler
 import org.jetbrains.kotlin.test.backend.handlers.NoFirCompilationErrorsHandler
 import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
diff --git a/native/native.tests/build.gradle.kts b/native/native.tests/build.gradle.kts
index 58f5474..533444d 100644
--- a/native/native.tests/build.gradle.kts
+++ b/native/native.tests/build.gradle.kts
@@ -24,7 +24,6 @@
     testImplementation(project(":core:compiler.common.native"))
     testImplementation(project(":kotlin-util-klib-abi"))
     testImplementation(project(":native:swift:swift-export-standalone"))
-    testImplementation(projectTests(":kotlin-util-klib-abi"))
     testApi(platform(libs.junit.bom))
     testImplementation(libs.junit.jupiter.api)
     testRuntimeOnly(libs.junit.jupiter.engine)
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeLibraryAbiReaderTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeLibraryAbiReaderTest.kt
index 2757ec0..fb4a371 100644
--- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeLibraryAbiReaderTest.kt
+++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeLibraryAbiReaderTest.kt
@@ -16,11 +16,11 @@
 import org.jetbrains.kotlin.konan.test.blackbox.support.settings.KotlinNativeTargets
 import org.jetbrains.kotlin.konan.test.blackbox.support.util.getAbsoluteFile
 import org.jetbrains.kotlin.library.abi.*
-import org.jetbrains.kotlin.library.abi.directives.KlibAbiDumpDirectives
-import org.jetbrains.kotlin.library.abi.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_EXCLUDED_CLASSES
-import org.jetbrains.kotlin.library.abi.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_EXCLUDED_PACKAGES
-import org.jetbrains.kotlin.library.abi.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_NON_PUBLIC_MARKERS
-import org.jetbrains.kotlin.library.abi.handlers.KlibAbiDumpHandler.Companion.abiDumpFileExtension
+import org.jetbrains.kotlin.test.backend.handlers.KlibAbiDumpHandler.Companion.abiDumpFileExtension
+import org.jetbrains.kotlin.test.directives.KlibAbiDumpDirectives
+import org.jetbrains.kotlin.test.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_EXCLUDED_CLASSES
+import org.jetbrains.kotlin.test.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_EXCLUDED_PACKAGES
+import org.jetbrains.kotlin.test.directives.KlibAbiDumpDirectives.KLIB_ABI_DUMP_NON_PUBLIC_MARKERS
 import org.jetbrains.kotlin.test.directives.model.ComposedDirectivesContainer
 import org.jetbrains.kotlin.test.services.JUnit5Assertions
 import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEqualsToFile
