mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-03-19 20:57:53 +02:00
test: gpg: fixed local execution
This commit is contained in:
parent
b92acb3996
commit
19cde27da9
@ -6,6 +6,7 @@ import (
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/apex/log"
|
||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||
"github.com/goreleaser/goreleaser/internal/pipe"
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
@ -99,6 +100,7 @@ func signone(ctx *context.Context, artifact artifact.Artifact) (string, error) {
|
||||
// tells the scanner to ignore this.
|
||||
// #nosec
|
||||
cmd := exec.CommandContext(ctx, cfg.Cmd, args...)
|
||||
log.WithField("cmd", cmd.Args).Info("running")
|
||||
output, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("sign: %s failed with %q", cfg.Cmd, string(output))
|
||||
|
@ -2,12 +2,15 @@ package sign
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||
"github.com/goreleaser/goreleaser/pkg/config"
|
||||
@ -15,6 +18,21 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
var originKeyring = "testdata/gnupg"
|
||||
var keyring string
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
keyring = fmt.Sprintf("/tmp/gorel_gpg_test.%d", rand.Int())
|
||||
fmt.Println("copying", originKeyring, "to", keyring)
|
||||
if _, err := exec.Command("cp", "-Rf", originKeyring, keyring).CombinedOutput(); err != nil {
|
||||
fmt.Printf("failed to copy %s to %s: %s", originKeyring, keyring, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
defer os.RemoveAll(keyring)
|
||||
os.Exit(m.Run())
|
||||
}
|
||||
|
||||
func TestDescription(t *testing.T) {
|
||||
assert.NotEmpty(t, Pipe{}.String())
|
||||
}
|
||||
@ -50,9 +68,6 @@ func TestSignInvalidArtifacts(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSignArtifacts(t *testing.T) {
|
||||
// fix permission on keyring dir to suppress warning about insecure permissions
|
||||
assert.NoError(t, os.Chmod(keyring, 0700))
|
||||
|
||||
tests := []struct {
|
||||
desc string
|
||||
ctx *context.Context
|
||||
@ -78,14 +93,13 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.desc, func(t *testing.T) {
|
||||
testSign(t, tt.ctx, tt.signatures)
|
||||
for _, test := range tests {
|
||||
t.Run(test.desc, func(tt *testing.T) {
|
||||
testSign(tt, test.ctx, test.signatures)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const keyring = "testdata/gnupg"
|
||||
const user = "nopass"
|
||||
|
||||
func testSign(t *testing.T, ctx *context.Context, signatures []string) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user