Отправить go тестовый выход покрытия на стандартный вывод - отправить его на S3 - PullRequest
0 голосов
/ 24 января 2020

Я хочу отправить html для go test -c на стандартный вывод, чтобы я мог обслуживать полученный HTML с сервера ресурсов S3 stati c.

Примерно так:

arti_fact="s3://cm-html/cm-api/$commit_sha"

go test -coverprofile cover.out .
go tool cover -html=cover.out -o /dev/stdout  | aws s3 cp - "$arti_fact"

есть ли способ записи в стандартный вывод без использования -o /dev/stdout?

1 Ответ

0 голосов
/ 05 февраля 2020

Я считаю, что способ отправки golang информации о покрытии кода в S3 / GCS выглядит следующим образом:

go test -coverprofile cover.out .
go tool cover -html=cover.out -o /dev/stdout  | gsutil cp - gs://my-bucket/foo

, если есть способ сделать это без временного файла, это было бы неплохо. Что-то вроде:

go test -coverprofile '/dev/stdout'  | 
go tool cover -html='/dev/stdin' -o '/dev/stdout'  | 
gsutil cp - 'gs://my-bucket/foo'
...