Skip to content

Commit

Permalink
Merge maven and maven-wrapper toolchain tests
Browse files Browse the repository at this point in the history
Similar to changes made on gradle and gradle-wrapper toolchain tests
  • Loading branch information
mengdaming committed Nov 15, 2022
1 parent 7860867 commit 56b71af
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 131 deletions.
2 changes: 1 addition & 1 deletion tcr-engine/toolchain/gradle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const (

const gradleCommandPath = "gradle"

func Test_gradle_and_gradle_wrapper_are_a_built_in_toolchains(t *testing.T) {
func Test_gradle_and_gradle_wrapper_are_built_in_toolchains(t *testing.T) {
assertIsABuiltInToolchain(t, gradleToolchainName)
assertIsABuiltInToolchain(t, gradleWrapperToolchainName)
}
Expand Down
70 changes: 52 additions & 18 deletions tcr-engine/toolchain/maven_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,53 +27,87 @@ import (
)

const (
mavenToolchainName = "maven"
mavenToolchainName = "maven"
mavenWrapperToolchainName = "maven-wrapper"
)

func Test_maven_is_a_built_in_toolchain(t *testing.T) {
const mavenCommandPath = "mvn"

func Test_maven_and_maven_wrapper_are_built_in_toolchains(t *testing.T) {
assertIsABuiltInToolchain(t, mavenToolchainName)
assertIsABuiltInToolchain(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_is_supported(t *testing.T) {
func Test_maven_toolchains_are_supported(t *testing.T) {
assertIsSupported(t, mavenToolchainName)
assertIsSupported(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_is_registered(t *testing.T) {
func Test_maven_toolchains_are_registered(t *testing.T) {
assertIsRegistered(t, mavenToolchainName)
assertIsRegistered(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_name_is_case_insensitive(t *testing.T) {
func Test_maven_toolchain_names_are_case_insensitive(t *testing.T) {
assertNameIsNotCaseSensitive(t, mavenToolchainName)
assertNameIsNotCaseSensitive(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_initialization(t *testing.T) {
func Test_maven_toolchains_initialization(t *testing.T) {
assertToolchainInitialization(t, mavenToolchainName)
assertToolchainInitialization(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_name(t *testing.T) {
func Test_maven_toolchains_name(t *testing.T) {
assertToolchainName(t, mavenToolchainName)
assertToolchainName(t, mavenWrapperToolchainName)
}

func Test_maven_toolchains_build_command_path(t *testing.T) {
assertBuildCommandPath(t, mavenCommandPath, mavenToolchainName)
assertBuildCommandPath(t, mavenWrapperCommandPath, mavenWrapperToolchainName)
}

func Test_maven_toolchains_build_command_args(t *testing.T) {
buildCommandArgs := []string{"test-compile"}
assertBuildCommandArgs(t, buildCommandArgs, mavenToolchainName)
assertBuildCommandArgs(t, buildCommandArgs, mavenWrapperToolchainName)
}

func Test_maven_wrapper_toolchain_returns_error_when_build_fails(t *testing.T) {
assertErrorWhenBuildFails(t, mavenWrapperToolchainName, testDataRootDir)
}

func Test_maven_wrapper_toolchain_returns_ok_when_build_passes(t *testing.T) {
assertNoErrorWhenBuildPasses(t, mavenWrapperToolchainName, testDataDirJava)
}

func Test_maven_toolchain_build_command_path(t *testing.T) {
assertBuildCommandPath(t, "mvn", mavenToolchainName)
func Test_maven_toolchains_test_command_path(t *testing.T) {
assertTestCommandPath(t, mavenCommandPath, mavenToolchainName)
assertTestCommandPath(t, mavenWrapperCommandPath, mavenWrapperToolchainName)
}

func Test_maven_toolchain_build_command_args(t *testing.T) {
assertBuildCommandArgs(t, []string{"test-compile"}, mavenToolchainName)
func Test_maven_toolchains_test_command_args(t *testing.T) {
testCommandArgs := []string{"test"}
assertTestCommandArgs(t, testCommandArgs, mavenToolchainName)
assertTestCommandArgs(t, testCommandArgs, mavenWrapperToolchainName)
}

func Test_maven_toolchain_test_command_path(t *testing.T) {
assertTestCommandPath(t, "mvn", mavenToolchainName)
func Test_maven_wrapper_toolchain_returns_error_when_tests_fail(t *testing.T) {
assertErrorWhenTestFails(t, mavenWrapperToolchainName, testDataRootDir)
}

func Test_maven_toolchain_test_command_args(t *testing.T) {
assertTestCommandArgs(t, []string{"test"}, mavenToolchainName)
func Test_maven_wrapper_toolchain_returns_ok_when_tests_pass(t *testing.T) {
assertNoErrorWhenTestPasses(t, mavenWrapperToolchainName, testDataDirJava)
}

func Test_maven_toolchain_supported_platforms(t *testing.T) {
func Test_maven_toolchains_supported_platforms(t *testing.T) {
assertRunsOnAllOsWithAmd64(t, mavenToolchainName)
assertRunsOnAllOsWithAmd64(t, mavenWrapperToolchainName)
}

func Test_maven_toolchain_test_result_dir(t *testing.T) {
assertTestResultDir(t, "target/surefire-reports", mavenToolchainName)
func Test_maven_toolchains_test_result_dir(t *testing.T) {
const testResultDir = "target/surefire-reports"
assertTestResultDir(t, testResultDir, mavenToolchainName)
assertTestResultDir(t, testResultDir, mavenWrapperToolchainName)
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//go:build !windows

/*
Copyright (c) 2021 Murex
Copyright (c) 2022 Murex
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -24,14 +24,4 @@ SOFTWARE.

package toolchain

import (
"testing"
)

func Test_maven_wrapper_toolchain_build_command_path_on_unix(t *testing.T) {
assertBuildCommandPath(t, "./mvnw", mavenWrapperToolchainName)
}

func Test_maven_wrapper_toolchain_test_command_path_on_windows(t *testing.T) {
assertTestCommandPath(t, "./mvnw", mavenWrapperToolchainName)
}
const mavenWrapperCommandPath = "./mvnw"
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 2021 Murex
Copyright (c) 2022 Murex
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -22,14 +22,4 @@ SOFTWARE.

package toolchain

import (
"testing"
)

func Test_maven_wrapper_toolchain_build_command_path_on_windows(t *testing.T) {
assertBuildCommandPath(t, ".\\mvnw.cmd", mavenWrapperToolchainName)
}

func Test_maven_wrapper_toolchain_test_command_path_on_windows(t *testing.T) {
assertTestCommandPath(t, ".\\mvnw.cmd", mavenWrapperToolchainName)
}
const mavenWrapperCommandPath = ".\\mvnw.cmd"
87 changes: 0 additions & 87 deletions tcr-engine/toolchain/maven_wrapper_test.go

This file was deleted.

4 changes: 3 additions & 1 deletion tcr-engine/toolchain/toolchain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,10 @@ func runFromDir(t *testing.T, workDir string, testFunction func(t *testing.T)) {
t.Error(err)
return
}
defer func() {
_ = os.Chdir(initialDir)
}()
testFunction(t)
_ = os.Chdir(initialDir)
}

func assertRunsOnAllOsWithAmd64(t *testing.T, name string) {
Expand Down

0 comments on commit 56b71af

Please sign in to comment.