compiler: Support up-to-date checking in golden tests

This commit is contained in:
Eric Anderson 2024-02-23 11:33:46 -08:00
parent 5f8958f65c
commit 89d8a13d10
1 changed files with 7 additions and 4 deletions

View File

@ -284,17 +284,20 @@ publishing {
}
def configureTestTask(Task task, String dep, String serviceName) {
def genDir = files(tasks.named("generateTest${dep}Proto")).singleFile
def genFile = "${genDir}/grpc/io/grpc/testing/compiler/${serviceName}Grpc.java"
task.dependsOn "generateTest${dep}Proto"
task.inputs.file genFile
if (osdetector.os != 'windows') {
task.executable "diff"
task.args "-u"
} else {
task.executable "fc"
}
// File isn't found on Windows if last slash is forward-slash
def slash = System.getProperty("file.separator")
task.args "$buildDir/generated/source/proto/test${dep}/grpc/io/grpc/testing/compiler${slash}${serviceName}Grpc.java",
"$projectDir/src/test${dep}/golden/${serviceName}.java.txt"
task.args layout.projectDirectory.file("src/test${dep}/golden/${serviceName}.java.txt")
task.args genFile
// Register an output to allow up-to-date checking
task.outputs.file(layout.buildDirectory.file(task.name))
}
def testGolden = tasks.register("testGolden", Exec) {