MCPcopy Create free account
hub / github.com/celer-pkg/celer / TestReverseCmd_With_Dev

Function TestReverseCmd_With_Dev

cmds/cmd_reverse_test.go:171–232  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

169}
170
171func TestReverseCmd_With_Dev(t *testing.T) {
172 // Cleanup.
173 dirs.RemoveAllForTest()
174
175 // Check error.
176 check := func(err error) {
177 t.Helper()
178 if err != nil {
179 t.Fatal(err)
180 }
181 }
182
183 // Helper function to check if two slices are equal (order-insensitive)
184 equals := func(list1, list2 []string) bool {
185 if len(list1) != len(list2) {
186 return false
187 }
188 for _, item := range list1 {
189 if !slices.Contains(list2, item) {
190 return false
191 }
192 }
193 return true
194 }
195
196 // Init celer.
197 celer := configs.NewCeler()
198 check(celer.Init())
199 check(celer.CloneConf(test_conf_repo_url, test_conf_repo_branch, true))
200 check(celer.SetBuildType("Release"))
201
202 // Search as default mode.
203 cmdReverse := reverseCmd{celer: celer}
204 dependencies, err := cmdReverse.query("nasm@2.16.03")
205 check(err)
206 if len(dependencies) > 0 {
207 t.Fatalf("expected no dependencies, but got %s", dependencies)
208 }
209
210 // Search as dev mode.
211 cmdReverse.dev = true
212 dependencies, err = cmdReverse.query("nasm@2.16.03")
213 check(err)
214 expected := []string{
215 "ffmpeg@3.4.13",
216 "ffmpeg@5.1.6",
217 "openssl@3.5.0",
218 "x264@stable",
219 "x265@4.1",
220 }
221 if !equals(dependencies, expected) {
222 t.Fatalf("expected %s, but got %s", expected, dependencies)
223 }
224
225 // Verify results are sorted
226 for i := 1; i < len(dependencies); i++ {
227 if strings.Compare(dependencies[i-1], dependencies[i]) > 0 {
228 t.Errorf("results are not sorted: %v", dependencies)

Callers

nothing calls this directly

Calls 8

InitMethod · 0.95
CloneConfMethod · 0.95
SetBuildTypeMethod · 0.95
queryMethod · 0.95
RemoveAllForTestFunction · 0.92
NewCelerFunction · 0.92
checkFunction · 0.85
equalsFunction · 0.85

Tested by

no test coverage detected