Add additional file assertions.

File does not exist, file exists in the tree, file does not exist in
the tree.

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2021-10-28 11:14:29 +02:00
parent a5ff409c11
commit 550287105a
3 changed files with 50 additions and 7 deletions
@@ -77,7 +77,7 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
) )
build("build") { build("build") {
assertFileNotExists("build/js/packages/kotlin-js-nodejs/kotlin/") assertFileInProjectNotExists("build/js/packages/kotlin-js-nodejs/kotlin/")
} }
} }
} }
@@ -89,7 +89,7 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
project("moduleName", gradleVersion) { project("moduleName", gradleVersion) {
build("build") { build("build") {
assertFileInProjectExists("build/classes/kotlin/main/META-INF/FLAG.kotlin_module") assertFileInProjectExists("build/classes/kotlin/main/META-INF/FLAG.kotlin_module")
assertFileNotExists("build/classes/kotlin/main/META-INF/moduleName.kotlin_module") assertFileInProjectNotExists("build/classes/kotlin/main/META-INF/moduleName.kotlin_module")
assertOutputDoesNotContain("Argument -module-name is passed multiple times") assertOutputDoesNotContain("Argument -module-name is passed multiple times")
} }
} }
@@ -128,7 +128,7 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
build("build") { build("build") {
assertDirectoryInProjectExists("$customBuildDirName/classes") assertDirectoryInProjectExists("$customBuildDirName/classes")
assertFileNotExists("build") assertFileInProjectNotExists("build")
} }
} }
} }
@@ -36,18 +36,61 @@ fun GradleProject.assertFileInProjectExists(
assertFileExists(projectPath.resolve(pathToFile)) assertFileExists(projectPath.resolve(pathToFile))
} }
fun GradleProject.assertFileExistsInTree(
pathToTreeRoot: Path,
fileName: String
) {
val foundFile = pathToTreeRoot
.toFile()
.walk()
.find {
it.isFile && it.name == fileName
}
assert(foundFile != null) {
"File $fileName does not exists in $pathToTreeRoot!"
}
}
/** /**
* Asserts file under [pathToFile] relative to the test project does not exist. * Asserts file under [pathToFile] relative to the test project does not exist.
*/ */
fun GradleProject.assertFileNotExists( fun GradleProject.assertFileInProjectNotExists(
pathToFile: String pathToFile: String
) { ) {
val filePath = projectPath.resolve(pathToFile) assertFileNotExists(projectPath.resolve(pathToFile))
assert(!Files.exists(filePath)) { }
"File '${filePath}' exists!"
fun GradleProject.assertFileNotExists(
pathToFile: Path
) {
assert(!Files.exists(pathToFile)) {
"File '${pathToFile}' exists!"
} }
} }
fun GradleProject.assertFileNotExistsInTree(
pathToTreeRoot: Path,
fileName: String
) {
val foundFile = pathToTreeRoot
.toFile()
.walk()
.find {
it.isFile && it.name == fileName
}
assert(foundFile == null) {
"File exists: ${foundFile!!.absolutePath}"
}
}
fun GradleProject.assertFileNotExistsInTree(
pathToTreeRoot: String,
fileName: String
) {
assertFileNotExistsInTree(projectPath.resolve(pathToTreeRoot), fileName)
}
/** /**
* Asserts directory under [pathToDir] relative to the test project exists and is a directory. * Asserts directory under [pathToDir] relative to the test project exists and is a directory.
*/ */