(t *testing.T)
| 99 | } |
| 100 | |
| 101 | func TestAutoRemove_With_BuildCache(t *testing.T) { |
| 102 | celer, platform, project, portNameVersion := setupWorkspaceForAutoremove(t) |
| 103 | |
| 104 | var ( |
| 105 | buildType = celer.BuildType() |
| 106 | packageDir = filepath.Join(dirs.PackagesDir, platform, project, buildType, portNameVersion) |
| 107 | buildDir = fmt.Sprintf("%s/%s/%s-%s-%s", dirs.BuildtreesDir, portNameVersion, platform, project, buildType) |
| 108 | ) |
| 109 | |
| 110 | var port configs.Port |
| 111 | if err := port.Init(celer, portNameVersion); err != nil { |
| 112 | t.Fatal(err) |
| 113 | } |
| 114 | if err := port.InstallFromSource(configs.InstallOptions{}); err != nil { |
| 115 | t.Fatal(err) |
| 116 | } |
| 117 | |
| 118 | validatePackages := func(packages, devPackages []string) error { |
| 119 | // Check packages. |
| 120 | expectedPackages := []string{ |
| 121 | "gflags@2.2.2", |
| 122 | "x264@stable", |
| 123 | } |
| 124 | if !equals(expectedPackages, packages) { |
| 125 | return fmt.Errorf("expected %v, got %v", expectedPackages, packages) |
| 126 | } |
| 127 | |
| 128 | // Check dev packages. |
| 129 | var expectedDevPackages []string |
| 130 | if runtime.GOOS == "windows" { |
| 131 | expectedDevPackages = []string{"nasm@2.16.03"} |
| 132 | } else { |
| 133 | expectedDevPackages = []string{ |
| 134 | "nasm@2.16.03", |
| 135 | "automake@1.18", |
| 136 | "autoconf@2.72", |
| 137 | "m4@1.4.19", |
| 138 | "help2man@1.49.3", |
| 139 | "libtool@2.5.4", |
| 140 | } |
| 141 | } |
| 142 | if !equals(expectedDevPackages, devPackages) { |
| 143 | return fmt.Errorf("expected %v, got %v", expectedDevPackages, devPackages) |
| 144 | } |
| 145 | |
| 146 | return nil |
| 147 | } |
| 148 | |
| 149 | // First run: `celer autoremove --build-cache` — buildtrees gone, package kept. |
| 150 | cmd1 := &autoremoveCmd{} |
| 151 | if _, err := runCommand(t, cmd1.Command(celer), "--build-cache"); err != nil { |
| 152 | t.Fatal(err) |
| 153 | } |
| 154 | if err := validatePackages(cmd1.packages, cmd1.devPackages); err != nil { |
| 155 | t.Fatal(err) |
| 156 | } |
| 157 | |
| 158 | t.Cleanup(func() { |
nothing calls this directly
no test coverage detected