Test captplanet with travis (#226)

* test captplanet in travis

* add comparison between uploaded and downloaded file

* test inline and remote files

* move captplanet testing to bash script
This commit is contained in:
Maximillian von Briesen 2018-08-14 12:58:16 -04:00 committed by GitHub
parent d396eb6be9
commit f80ddf9358
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 0 deletions

View File

@ -17,3 +17,4 @@ script:
- go list -f '{{if len .TestGoFiles}}"go test -coverprofile={{.Dir}}/.coverprofile {{.ImportPath}}"{{end}}' ./... | xargs -L 1 sh -c - go list -f '{{if len .TestGoFiles}}"go test -coverprofile={{.Dir}}/.coverprofile {{.ImportPath}}"{{end}}' ./... | xargs -L 1 sh -c
- gover - gover
- goveralls -coverprofile=gover.coverprofile -service=travis-ci - goveralls -coverprofile=gover.coverprofile -service=travis-ci
- make test-captplanet

View File

@ -71,6 +71,10 @@ run-hc:
-e OVERLAY_PORT=7070 \ -e OVERLAY_PORT=7070 \
hc hc
test-captplanet:
@echo "Running ${@}"
@./scripts/test-captplanet.sh
clean-local: clean-local:
# cleanup heavy client # cleanup heavy client
docker stop hc || true docker stop hc || true

42
scripts/test-captplanet.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
go install -v storj.io/storj/cmd/captplanet
captplanet setup
captplanet run &
CAPT_PID=$!
aws configure set aws_access_key_id insecure-dev-access-key
aws configure set aws_secret_access_key insecure-dev-secret-key
aws configure set default.region us-east-1
aws configure set default.s3.multipart_threshold 1TB
head -c 1024 </dev/urandom > ./small-upload-testfile # create 1mb file of random bytes (inline)
head -c 5120 </dev/urandom > ./big-upload-testfile # create 5mb file of random bytes (remote)
aws s3 --endpoint=http://localhost:7777/ cp ./small-upload-testfile s3://bucket/small-testfile
aws s3 --endpoint=http://localhost:7777/ cp ./big-upload-testfile s3://bucket/big-testfile
aws s3 --endpoint=http://localhost:7777/ ls s3://bucket
aws s3 --endpoint=http://localhost:7777/ cp s3://bucket/small-testfile ./small-download-testfile
aws s3 --endpoint=http://localhost:7777/ cp s3://bucket/big-testfile ./big-download-testfile
if cmp ./small-upload-testfile ./small-download-testfile
then
echo "Downloaded file matches uploaded file";
else
echo "Downloaded file does not match uploaded file";
kill -9 $CAPT_PID
exit 1;
fi
if cmp ./big-upload-testfile ./big-download-testfile
then
echo "Downloaded file matches uploaded file";
else
echo "Downloaded file does not match uploaded file";
kill -9 $CAPT_PID
exit 1;
fi
kill -9 $CAPT_PID

View File

@ -11,4 +11,8 @@ mv $HOME/gopath{-staging,}
export TRAVIS_BUILD_DIR=$HOME/gopath/src/storj.io/storj export TRAVIS_BUILD_DIR=$HOME/gopath/src/storj.io/storj
cd $TRAVIS_BUILD_DIR cd $TRAVIS_BUILD_DIR
virtualenv my_py3 --python=/usr/bin/python3.4
source my_py3/bin/activate
pip install --upgrade awscli
set +x set +x