Как отключить CGO для запуска тестов - PullRequest
0 голосов
/ 26 ноября 2018

Я использую Docker, чтобы добавить свой проект в него, теперь я хочу выполнить какой-то тест на нем, и я получил ошибки, что тест не удался

Есть идеи, что мне здесь не хватает?

# build stage
FROM golang:1.11.1-alpine3.8 AS builder

RUN apk add --update --no-cache make \
    git

ADD https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 /usr/bin/dep
RUN chmod +x /usr/bin/dep

RUN mkdir -p $GOPATH/src/github.company/user/go-application
WORKDIR  $GOPATH/src/github.company/user/go-application
COPY Gopkg.toml Gopkg.lock ./
RUN dep ensure --vendor-only
COPY . ./

Теперь я создаю докер, который успешно завершается, и теперь я хочу запустить тесты на нем.

Я сделал Docker, который запустил docker run -it goapp, который успешно запускается

И теперь я использую команду go test -v ./...и я получил ошибку

# runtime/cgo
exec: "gcc": executable file not found in $PATH
FAIL    github.company/user/go-application [build failed]
FAIL    github.company/user/go-application/integration [build failed]

Любая идея, как решить эту проблему?

Я пытаюсь сделать еще один шаг в файле Docker, как показано ниже, который не помогает

RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /go-application .

1 Ответ

0 голосов
/ 26 ноября 2018

Вы отключили CGO для своей сборки, но не отключили CGO для своих тестов, что вы должны сделать:

CGO_ENABLED=0 GOOS=linux go test -v ./...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...