MCPcopy
hub / github.com/Jguer/yay / TestSyncUpgrade_WaitsForCompletionCache

Function TestSyncUpgrade_WaitsForCompletionCache

sync_test.go:271–404  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

269}
270
271func TestSyncUpgrade_WaitsForCompletionCache(t *testing.T) {
272 t.Parallel()
273
274 tmpDir := t.TempDir()
275 makepkgBin := tmpDir + "/makepkg"
276 pacmanBin := tmpDir + "/pacman"
277 gitBin := tmpDir + "/git"
278
279 for _, path := range []string{makepkgBin, pacmanBin, gitBin} {
280 f, err := os.OpenFile(path, os.O_RDONLY|os.O_CREATE, 0o755)
281 require.NoError(t, err)
282 require.NoError(t, f.Close())
283 }
284
285 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
286 assert.Equal(t, "/packages.gz", r.URL.Path)
287 _, err := io.WriteString(w, "# Comment\nrepo-pkg\n")
288 require.NoError(t, err)
289 }))
290 defer server.Close()
291
292 cmdArgs := parser.MakeArguments()
293 cmdArgs.AddArg("S")
294 cmdArgs.AddArg("y")
295 cmdArgs.AddArg("u")
296
297 showOverride := func(cmd *exec.Cmd) error {
298 return nil
299 }
300
301 mockRunner := &exe.MockRunner{CaptureFn: func(cmd *exec.Cmd) (string, string, error) {
302 return "", "", nil
303 }, ShowFn: showOverride}
304 cmdBuilder := &exe.CmdBuilder{
305 MakepkgBin: makepkgBin,
306 SudoBin: "su",
307 PacmanBin: pacmanBin,
308 PacmanConfigPath: "/etc/pacman.conf",
309 GitBin: gitBin,
310 Runner: mockRunner,
311 SudoLoopEnabled: false,
312 }
313
314 dbName := mock.NewDB("core")
315 syncPackagesEntered := make(chan struct{})
316 releaseSyncPackages := make(chan struct{})
317 var started sync.Once
318
319 db := &mock.DBExecutor{
320 AlpmArchitecturesFn: func() ([]string, error) {
321 return []string{"x86_64"}, nil
322 },
323 RefreshHandleFn: func() error {
324 return nil
325 },
326 ReposFn: func() []string {
327 return []string{"core"}
328 },

Callers

nothing calls this directly

Calls 6

MakeArgumentsFunction · 0.92
NewLoggerFunction · 0.92
AddArgMethod · 0.80
handleCmdFunction · 0.70
DoMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected