diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt index 1e2c48b43d9..66329a57297 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt @@ -96,6 +96,9 @@ abstract class BasicBoxTest( protected open val testChecker get() = if (runTestInNashorn) NashornJsTestChecker else V8JsTestChecker + protected val logger = KotlinJsTestLogger() + + fun doTest(filePath: String) { doTestWithIgnoringByFailFile(filePath, coroutinesPackage = "") } @@ -119,6 +122,9 @@ abstract class BasicBoxTest( open fun doTest(filePath: String, expectedResult: String, mainCallParameters: MainCallParameters, coroutinesPackage: String = "") { val file = File(filePath) + + logger.logFile("Test file", file) + val outputDir = getOutputDir(file) val dceOutputDir = getOutputDir(file, testGroupOutputDirForMinification) val pirOutputDir = getOutputDir(file, testGroupOutputDirForPir) @@ -188,6 +194,8 @@ abstract class BasicBoxTest( val dceOutputFileName = module.outputFileName(dceOutputDir) + ".js" val pirOutputFileName = module.outputFileName(pirOutputDir) + ".js" val isMainModule = mainModuleName == module.name + + logger.logFile("Output JS", File(outputFileName)) generateJavaScriptFile( testFactory.tmpDir, file.parent, @@ -1115,3 +1123,13 @@ fun KotlinTestWithEnvironment.createPsiFile(fileName: String): KtFile { } fun KotlinTestWithEnvironment.createPsiFiles(fileNames: List): List = fileNames.map(this::createPsiFile) + +class KotlinJsTestLogger { + val verbose = getBoolean("kotlin.js.test.verbose") + + fun logFile(description: String, file: File) { + if (verbose) { + println("TEST_LOG: $description file://${file.absolutePath}") + } + } +} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt index 78e2f0ee109..8456dbd2f6e 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt @@ -110,12 +110,14 @@ abstract class BasicIrBoxTest( } if (isMainModule) { + logger.logFile("Output JS", outputFile) + val debugMode = getBoolean("kotlin.js.debugMode") val phaseConfig = if (debugMode) { val allPhasesSet = jsPhases.toPhaseMap().values.toSet() val dumpOutputDir = File(outputFile.parent, outputFile.nameWithoutExtension + "-irdump") - println("\n ------ Dumping phases to file://$dumpOutputDir") + logger.logFile("Dumping phasesTo", dumpOutputDir) PhaseConfig( jsPhases, dumpToDirectory = dumpOutputDir.path, @@ -150,8 +152,9 @@ abstract class BasicIrBoxTest( compiledModule.dceJsCode?.writeTo(dceOutputFile, config) if (generateDts) { - val dtsFile = outputFile.withReplacedExtensionOrNull("_v5.js", ".d.ts") - dtsFile?.write(compiledModule.tsDefinitions ?: error("No ts definitions")) + val dtsFile = outputFile.withReplacedExtensionOrNull("_v5.js", ".d.ts")!! + logger.logFile("Output d.ts", dtsFile) + dtsFile.write(compiledModule.tsDefinitions ?: error("No ts definitions")) } } @@ -185,6 +188,8 @@ abstract class BasicIrBoxTest( nopack = true ) + logger.logFile("Output klib", File(actualOutputFile)) + compilationCache[outputFile.name.replace(".js", ".meta.js")] = actualOutputFile } }