func moduleUpgrade()

in upgradetest.go [109:136]


func moduleUpgrade(t *T, owner string, repo string, moduleFolderRelativeToRoot string, newModulePath string, opts terraform.Options, currentMajorVer int) error {
	if currentMajorVer == 0 {
		return SkipV0Error
	}
	latestTag, err := getLatestTag(owner, repo, currentMajorVer)
	if err != nil {
		return err
	}
	if semver.Major(latestTag) == "v0" {
		return SkipV0Error
	}
	tmpDirForTag, err := cloneGithubRepo(owner, repo, &latestTag)
	if err != nil {
		return err
	}

	fullTerraformModuleFolder := filepath.Join(tmpDirForTag, moduleFolderRelativeToRoot)

	exists := files.FileExists(fullTerraformModuleFolder)
	if !exists {
		return CannotTestError
	}
	tmpTestDir := test_structure.CopyTerraformFolderToTemp(t, tmpDirForTag, moduleFolderRelativeToRoot)
	defer func() {
		_ = os.RemoveAll(filepath.Clean(tmpTestDir))
	}()
	return diffTwoVersions(t, opts, tmpTestDir, newModulePath)
}