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

Function TestIntegrationLocalInstallMissingDep

local_install_test.go:328–451  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

326}
327
328func TestIntegrationLocalInstallMissingDep(t *testing.T) {
329 wantErr := ErrPackagesNotFound
330 makepkgBin := t.TempDir() + "/makepkg"
331 pacmanBin := t.TempDir() + "/pacman"
332 gitBin := t.TempDir() + "/git"
333 tmpDir := t.TempDir()
334 f, err := os.OpenFile(makepkgBin, os.O_RDONLY|os.O_CREATE, 0o755)
335 require.NoError(t, err)
336 require.NoError(t, f.Close())
337
338 f, err = os.OpenFile(pacmanBin, os.O_RDONLY|os.O_CREATE, 0o755)
339 require.NoError(t, err)
340 require.NoError(t, f.Close())
341
342 f, err = os.OpenFile(gitBin, os.O_RDONLY|os.O_CREATE, 0o755)
343 require.NoError(t, err)
344 require.NoError(t, f.Close())
345
346 tars := []string{
347 tmpDir + "/jellyfin-10.8.4-1-x86_64.pkg.tar.zst",
348 tmpDir + "/jellyfin-web-10.8.4-1-x86_64.pkg.tar.zst",
349 tmpDir + "/jellyfin-server-10.8.4-1-x86_64.pkg.tar.zst",
350 }
351
352 wantShow := []string{}
353 wantCapture := []string{}
354
355 captureOverride := func(cmd *exec.Cmd) (stdout string, stderr string, err error) {
356 return strings.Join(tars, "\n"), "", nil
357 }
358
359 once := sync.Once{}
360
361 showOverride := func(cmd *exec.Cmd) error {
362 once.Do(func() {
363 for _, tar := range tars {
364 f, err := os.OpenFile(tar, os.O_RDONLY|os.O_CREATE, 0o666)
365 require.NoError(t, err)
366 require.NoError(t, f.Close())
367 }
368 })
369 return nil
370 }
371
372 mockRunner := &exe.MockRunner{CaptureFn: captureOverride, ShowFn: showOverride}
373 cmdBuilder := &exe.CmdBuilder{
374 MakepkgBin: makepkgBin,
375 SudoBin: "su",
376 PacmanBin: pacmanBin,
377 PacmanConfigPath: "/etc/pacman.conf",
378 GitBin: "git",
379 Runner: mockRunner,
380 SudoLoopEnabled: false,
381 }
382
383 cmdArgs := parser.MakeArguments()
384 cmdArgs.AddArg("B")
385 cmdArgs.AddArg("i")

Callers

nothing calls this directly

Calls 10

MakeArgumentsFunction · 0.92
AddArgMethod · 0.80
AddTargetMethod · 0.80
newTestLoggerFunction · 0.70
handleCmdFunction · 0.70
DoMethod · 0.65
LenMethod · 0.65
CloseMethod · 0.45
ErrorMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected