| 761 | } |
| 762 | |
| 763 | func TestSyncUpgrade_NoCombinedUpgrade(t *testing.T) { |
| 764 | t.Parallel() |
| 765 | |
| 766 | testCases := []struct { |
| 767 | name string |
| 768 | combinedUpgrade bool |
| 769 | want []string |
| 770 | }{ |
| 771 | { |
| 772 | name: "combined upgrade", |
| 773 | combinedUpgrade: true, |
| 774 | want: []string{"pacman -S -y -u --config /etc/pacman.conf --"}, |
| 775 | }, |
| 776 | { |
| 777 | name: "no combined upgrade", |
| 778 | combinedUpgrade: false, |
| 779 | want: []string{"pacman -S -y --config /etc/pacman.conf --"}, |
| 780 | }, |
| 781 | } |
| 782 | |
| 783 | for _, tc := range testCases { |
| 784 | t.Run(tc.name, func(t *testing.T) { |
| 785 | t.Parallel() |
| 786 | makepkgBin := t.TempDir() + "/makepkg" |
| 787 | pacmanBin := t.TempDir() + "/pacman" |
| 788 | gitBin := t.TempDir() + "/git" |
| 789 | f, err := os.OpenFile(makepkgBin, os.O_RDONLY|os.O_CREATE, 0o755) |
| 790 | require.NoError(t, err) |
| 791 | require.NoError(t, f.Close()) |
| 792 | |
| 793 | f, err = os.OpenFile(pacmanBin, os.O_RDONLY|os.O_CREATE, 0o755) |
| 794 | require.NoError(t, err) |
| 795 | require.NoError(t, f.Close()) |
| 796 | |
| 797 | f, err = os.OpenFile(gitBin, os.O_RDONLY|os.O_CREATE, 0o755) |
| 798 | require.NoError(t, err) |
| 799 | require.NoError(t, f.Close()) |
| 800 | |
| 801 | captureOverride := func(cmd *exec.Cmd) (stdout string, stderr string, err error) { |
| 802 | return "", "", nil |
| 803 | } |
| 804 | |
| 805 | showOverride := func(cmd *exec.Cmd) error { |
| 806 | return nil |
| 807 | } |
| 808 | |
| 809 | mockRunner := &exe.MockRunner{CaptureFn: captureOverride, ShowFn: showOverride} |
| 810 | cmdBuilder := &exe.CmdBuilder{ |
| 811 | MakepkgBin: makepkgBin, |
| 812 | SudoBin: "su", |
| 813 | PacmanBin: pacmanBin, |
| 814 | PacmanConfigPath: "/etc/pacman.conf", |
| 815 | GitBin: "git", |
| 816 | Runner: mockRunner, |
| 817 | SudoLoopEnabled: false, |
| 818 | } |
| 819 | |
| 820 | cmdArgs := parser.MakeArguments() |