improving tests process

This commit is contained in:
Julien Neuhart
2018-04-06 12:04:42 +02:00
parent bf28499e18
commit a5bcd64c9a
5 changed files with 38 additions and 13 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
.DS_Store
_ci/coverage.txt
gotenberg

View File

@@ -25,8 +25,15 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free"
# |
WORKDIR /go/src/github.com/gulien/gotenberg
# Installs lint dependencies.
RUN go get -u gopkg.in/alecthomas/gometalinter.v2 &&\
gometalinter.v2 --install
# Copies our Go source.
COPY . .
# Installs project dependencies.
RUN go get -d -v ./...
CMD ["go", "test", "-race", "-cover", "./..."]
ENTRYPOINT ["_ci/docker-entrypoint.sh"]

25
_ci/docker-entrypoint.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
set -xe
# Statically checking Go source for errors and warnings.
gometalinter.v2 --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode -E gocyclo --vendor ./...;
# Running tests according to current Gotenberg version.
if [[ "$VERSION" == "snapshot" ]]; then
for d in $(go list ./... | grep -v vendor); do
go test -race -cover $d;
done
else
echo "" > ./_ci/coverage.txt;
for d in $(go list ./... | grep -v vendor); do
go test -race -coverprofile=profile.out -covermode=atomic $d;
if [ -f profile.out ]; then
cat profile.out >> ./_ci/coverage.txt;
rm profile.out;
fi
done
fi
# Bye!
exit 0;

Binary file not shown.

View File

@@ -1,23 +1,15 @@
tasks:
- use: install
short: Installs all required dev dependencies
run:
- go get -u github.com/golang/dep/cmd/dep
- go get -u gopkg.in/alecthomas/gometalinter.v2
- gometalinter.v2 --install
- use: lint
short: Formats the code and statically checks for errors and warnings
- use: fmt
short: Runs go fmt ./...
run:
- go fmt ./...
- gometalinter.v2 --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode -E gocyclo --vendor ./...
- use: tests
short: Runs tests inside a container
run:
- docker build -t gotenberg:tests -f Dockerfile.tests .
- docker run --rm gotenberg:tests
- docker run --rm -e "VERSION={{ .Orbit.Version }}" -v "$(pwd)/_ci:/go/src/github.com/gulien/gotenberg/_ci" gotenberg:tests
- use: build
short: Builds a Linux binary and the Docker image