From c93b3fca9e7c4768df90b2555c66308228d24644 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Wed, 29 Aug 2018 20:19:31 +0100 Subject: [PATCH 1/2] Fix tests --- download.go | 2 +- keys_test.go | 26 +++++++++----------------- print_test.go | 2 +- upgrade_test.go | 4 ++-- vcs_test.go | 4 ++-- 5 files changed, 15 insertions(+), 23 deletions(-) diff --git a/download.go b/download.go index e1bcefad..c93fbf9b 100644 --- a/download.go +++ b/download.go @@ -67,7 +67,7 @@ func gitDownload(url string, path string, name string) (bool, error) { cmd.Env = append(os.Environ(), "GIT_TERMINAL_PROMPT=0") _, stderr, err := capture(cmd) if err != nil { - return false, fmt.Errorf("error cloning %s: stderr", name, stderr) + return false, fmt.Errorf("error cloning %s: %s", name, stderr) } return true, nil diff --git a/keys_test.go b/keys_test.go index d8717519..1b563682 100644 --- a/keys_test.go +++ b/keys_test.go @@ -146,34 +146,30 @@ func TestCheckPgpKeys(t *testing.T) { defer server.Shutdown(context.TODO()) casetests := []struct { - pkgs []*rpc.Pkg + pkgs Base srcinfos map[string]*gosrc.Srcinfo - bases map[string][]*rpc.Pkg wantError bool }{ // cower: single package, one valid key not yet in the keyring. // 487EACC08557AD082088DABA1EB2638FF56C0C53: Dave Reisner. { - pkgs: []*rpc.Pkg{newPkg("cower")}, + pkgs: Base{newPkg("cower")}, srcinfos: map[string]*gosrc.Srcinfo{"cower": makeSrcinfo("cower", "487EACC08557AD082088DABA1EB2638FF56C0C53")}, - bases: map[string][]*rpc.Pkg{"cower": {newPkg("cower")}}, wantError: false, }, // libc++: single package, two valid keys not yet in the keyring. // 11E521D646982372EB577A1F8F0871F202119294: Tom Stellard. // B6C8F98282B944E3B0D5C2530FC3042E345AD05D: Hans Wennborg. { - pkgs: []*rpc.Pkg{newPkg("libc++")}, + pkgs: Base{newPkg("libc++")}, srcinfos: map[string]*gosrc.Srcinfo{"libc++": makeSrcinfo("libc++", "11E521D646982372EB577A1F8F0871F202119294", "B6C8F98282B944E3B0D5C2530FC3042E345AD05D")}, - bases: map[string][]*rpc.Pkg{"libc++": {newPkg("libc++")}}, wantError: false, }, // Two dummy packages requiring the same key. // ABAF11C65A2970B130ABE3C479BE3E4300411886: Linus Torvalds. { - pkgs: []*rpc.Pkg{newPkg("dummy-1"), newPkg("dummy-2")}, + pkgs: Base{newPkg("dummy-1"), newPkg("dummy-2")}, srcinfos: map[string]*gosrc.Srcinfo{"dummy-1": makeSrcinfo("dummy-1", "ABAF11C65A2970B130ABE3C479BE3E4300411886"), "dummy-2": makeSrcinfo("dummy-2", "ABAF11C65A2970B130ABE3C479BE3E4300411886")}, - bases: map[string][]*rpc.Pkg{"dummy-1": {newPkg("dummy-1")}, "dummy-2": {newPkg("dummy-2")}}, wantError: false, }, // dummy package: single package, two valid keys, one of them already @@ -181,37 +177,33 @@ func TestCheckPgpKeys(t *testing.T) { // 11E521D646982372EB577A1F8F0871F202119294: Tom Stellard. // C52048C0C0748FEE227D47A2702353E0F7E48EDB: Thomas Dickey. { - pkgs: []*rpc.Pkg{newPkg("dummy-3")}, + pkgs: Base{newPkg("dummy-3")}, srcinfos: map[string]*gosrc.Srcinfo{"dummy-3": makeSrcinfo("dummy-3", "11E521D646982372EB577A1F8F0871F202119294", "C52048C0C0748FEE227D47A2702353E0F7E48EDB")}, - bases: map[string][]*rpc.Pkg{"dummy-3": {newPkg("dummy-3")}}, wantError: false, }, // Two dummy packages with existing keys. { - pkgs: []*rpc.Pkg{newPkg("dummy-4"), newPkg("dummy-5")}, + pkgs: Base{newPkg("dummy-4"), newPkg("dummy-5")}, srcinfos: map[string]*gosrc.Srcinfo{"dummy-4": makeSrcinfo("dummy-4", "11E521D646982372EB577A1F8F0871F202119294"), "dummy-5": makeSrcinfo("dummy-5", "C52048C0C0748FEE227D47A2702353E0F7E48EDB")}, - bases: map[string][]*rpc.Pkg{"dummy-4": {newPkg("dummy-4")}, "dummy-5": {newPkg("dummy-5")}}, wantError: false, }, // Dummy package with invalid key, should fail. { - pkgs: []*rpc.Pkg{newPkg("dummy-7")}, + pkgs: Base{newPkg("dummy-7")}, srcinfos: map[string]*gosrc.Srcinfo{"dummy-7": makeSrcinfo("dummy-7", "THIS-SHOULD-FAIL")}, - bases: map[string][]*rpc.Pkg{"dummy-7": {newPkg("dummy-7")}}, wantError: true, }, // Dummy package with both an invalid an another valid key, should fail. // A314827C4E4250A204CE6E13284FC34C8E4B1A25: Thomas Bächler. { - pkgs: []*rpc.Pkg{newPkg("dummy-8")}, + pkgs: Base{newPkg("dummy-8")}, srcinfos: map[string]*gosrc.Srcinfo{"dummy-8": makeSrcinfo("dummy-8", "A314827C4E4250A204CE6E13284FC34C8E4B1A25", "THIS-SHOULD-FAIL")}, - bases: map[string][]*rpc.Pkg{"dummy-8": {newPkg("dummy-8")}}, wantError: true, }, } for _, tt := range casetests { - err := checkPgpKeys(tt.pkgs, tt.bases, tt.srcinfos) + err := checkPgpKeys([]Base{tt.pkgs}, tt.srcinfos) if !tt.wantError { if err != nil { t.Fatalf("Got error %q, want no error", err) diff --git a/print_test.go b/print_test.go index fec362d8..d05e58d7 100644 --- a/print_test.go +++ b/print_test.go @@ -11,7 +11,7 @@ func benchmarkPrintSearch(search string, b *testing.B) { os.Stdout = w for n := 0; n < b.N; n++ { - res, _, _ := queryRepo(append([]string{}, search)) + res, _ := queryRepo(append([]string{}, search)) res.printSearch() } os.Stdout = old diff --git a/upgrade_test.go b/upgrade_test.go index 47f301ea..3fab5139 100644 --- a/upgrade_test.go +++ b/upgrade_test.go @@ -32,7 +32,7 @@ func TestGetVersionDiff(t *testing.T) { } out := []versionPair{ - {"1-1", "1-1"}, + {"1-1" + red(""), "1-1" + green("")}, {red("1-1"), green("2-1")}, {red("2-1"), green("1-1")}, {"1-" + red("1"), "1-" + green("2")}, @@ -56,7 +56,7 @@ func TestGetVersionDiff(t *testing.T) { o, n := getVersionDiff(pair.Old, pair.New) if o != out[i].Old || n != out[i].New { - t.Errorf("Test %d failed for update: (%s => %s) expected (%s => %s) got (%s => %s)", i+1, in[i].Old, in[i].New, out[i].Old, out[i].New, o, n) + t.Errorf("Test %d failed for update: expected (%s => %s) got (%s => %s) %d %d %d %d", i+1, in[i].Old, in[i].New, o, n, len(in[i].Old), len(in[i].New), len(o), len(n)) } } } diff --git a/vcs_test.go b/vcs_test.go index 5354b40b..6fdee82a 100644 --- a/vcs_test.go +++ b/vcs_test.go @@ -49,7 +49,7 @@ func TestParsing(t *testing.T) { {"github.com/davidgiven/ack", "HEAD", []string{"git"}}, {"", "", nil}, {"", "", nil}, - {"github.com/jguer/yay.git", "foo", []string{"a", "b", "c", "d", "e", "f"}}, + {"", "", nil}, } for n, url := range urls { @@ -60,7 +60,7 @@ func TestParsing(t *testing.T) { branch != compare.Branch || !isEqual(protocols, compare.Protocols) { - t.Fatalf("Test %d failed: Expected: url=%+v branch=%+v protocols=%+v\ngot url=%+v branch=%+v protocols=%+v", n+1, url, branch, protocols, compare.URL, compare.Branch, compare.Protocols) + t.Fatalf("Test %d failed: Expected: url=%+v branch=%+v protocols=%+v\ngot url=%+v branch=%+v protocols=%+v", n+1, compare.URL, compare.Branch, compare.Protocols, url, branch, protocols) } } From 92ff640a6535d05b74c41b5ac03f4e5de6ed40d5 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Wed, 29 Aug 2018 20:37:25 +0100 Subject: [PATCH 2/2] Document --aururl --- cmd.go | 1 + doc/yay.8 | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/cmd.go b/cmd.go index 738d1ea9..c7bd5901 100644 --- a/cmd.go +++ b/cmd.go @@ -39,6 +39,7 @@ Permanent configuration options: --save Causes the following options to be saved back to the config file when used + --aururl Set an alternative AUR URL --builddir Directory used to download and run PKBUILDS --editor Editor to use when editing PKGBUILDs --editorflags Pass arguments to editor diff --git a/doc/yay.8 b/doc/yay.8 index 66c310e5..6f389d85 100644 --- a/doc/yay.8 +++ b/doc/yay.8 @@ -136,6 +136,11 @@ Causes the following options to be saved back to the config file. This provides an easy way to change config options without directly editing the file. +.TP +.B \-\-aururl +Set an alternative AUR URL. This is mostly useful for users in china who wish +to use https://aur.tuna.tsinghua.edu.cn/. + .TP .B \-\-builddir Directory to use for Building AUR Packages. This directory is also used as