From d894529c673d1a91ef8bc4683f10f4bfb974e9d4 Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Sun, 14 Dec 2014 19:16:08 -0800 Subject: [PATCH 1/4] fix(docker) ignore git dir License: MIT Signed-off-by: Brian Tiger Chow --- .dockerignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..6b8710a71 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.git From a2cc7dc10780799b99662a3a44e37d9ce3fc787b Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Sun, 14 Dec 2014 22:29:55 -0800 Subject: [PATCH 2/4] test(withdocker)! misc fixes set all nodes to error fix: check return value after cat License: MIT Signed-off-by: Brian Tiger Chow --- Makefile | 5 +++++ dockertest/Makefile | 20 +++++++++++++++++ dockertest/README.md | 15 +++++++++++++ dockertest/bin/.gitignore | 1 + dockertest/bootstrap/Dockerfile | 8 +++++++ dockertest/bootstrap/README.md | 3 +++ dockertest/bootstrap/config | 39 +++++++++++++++++++++++++++++++++ dockertest/build/.gitkeep | 0 dockertest/client/Dockerfile | 11 ++++++++++ dockertest/client/config | 39 +++++++++++++++++++++++++++++++++ dockertest/client/run.sh | 29 ++++++++++++++++++++++++ dockertest/data/Dockerfile | 5 +++++ dockertest/fig.yml | 36 ++++++++++++++++++++++++++++++ dockertest/server/Dockerfile | 12 ++++++++++ dockertest/server/README.md | 4 ++++ dockertest/server/config | 39 +++++++++++++++++++++++++++++++++ dockertest/server/run.sh | 17 ++++++++++++++ 17 files changed, 283 insertions(+) create mode 100644 dockertest/Makefile create mode 100644 dockertest/README.md create mode 100644 dockertest/bin/.gitignore create mode 100644 dockertest/bootstrap/Dockerfile create mode 100644 dockertest/bootstrap/README.md create mode 100644 dockertest/bootstrap/config create mode 100644 dockertest/build/.gitkeep create mode 100644 dockertest/client/Dockerfile create mode 100644 dockertest/client/config create mode 100644 dockertest/client/run.sh create mode 100644 dockertest/data/Dockerfile create mode 100644 dockertest/fig.yml create mode 100644 dockertest/server/Dockerfile create mode 100644 dockertest/server/README.md create mode 100644 dockertest/server/config create mode 100644 dockertest/server/run.sh diff --git a/Makefile b/Makefile index ad32c0f84..d8f2d80fb 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,11 @@ test: test_go test_sharness test_expensive: test_go_expensive test_sharness_expensive +test_docker: + cd ./src/github.com/jbenet/go-ipfs + docker build -t zaqwsx_ipfs-test-img . + cd dockertest/ && make + test_go: go test -test.short ./... diff --git a/dockertest/Makefile b/dockertest/Makefile new file mode 100644 index 000000000..fec031d9d --- /dev/null +++ b/dockertest/Makefile @@ -0,0 +1,20 @@ +RANDOMSRC = Godeps/_workspace/src/github.com/jbenet/go-random/random + +test: clean setup + fig build --no-cache + fig up + +setup: docker_ipfs_image data/file + +docker_ipfs_image: + docker images | grep zaqwsx_ipfs-test-img + +data/file: bin/random + cp Makefile ./data/file + +bin/random: + go build -o ./bin/random ../$(RANDOMSRC) + +clean: + docker rm $(docker ps -q -a -f status=exited) || true + rm -f data/file diff --git a/dockertest/README.md b/dockertest/README.md new file mode 100644 index 000000000..3991a6307 --- /dev/null +++ b/dockertest/README.md @@ -0,0 +1,15 @@ +this is an ipfs integration test + +**requirements** + +* Docker +* fig +* Go + +* ipfs image named "zaqwsx_ipfs-test-img" + +``` +make setup +fig build +fig up +``` diff --git a/dockertest/bin/.gitignore b/dockertest/bin/.gitignore new file mode 100644 index 000000000..a1e4bc59a --- /dev/null +++ b/dockertest/bin/.gitignore @@ -0,0 +1 @@ +random diff --git a/dockertest/bootstrap/Dockerfile b/dockertest/bootstrap/Dockerfile new file mode 100644 index 000000000..2b645857f --- /dev/null +++ b/dockertest/bootstrap/Dockerfile @@ -0,0 +1,8 @@ +FROM zaqwsx_ipfs-test-img + +RUN ipfs init -b=1024 +ADD . /tmp/id +RUN mv -f /tmp/id/config /root/.go-ipfs/config +RUN ipfs id + +EXPOSE 4011 4012/udp diff --git a/dockertest/bootstrap/README.md b/dockertest/bootstrap/README.md new file mode 100644 index 000000000..09d7307fe --- /dev/null +++ b/dockertest/bootstrap/README.md @@ -0,0 +1,3 @@ +this is a bootstrap peer with an empty bootstrap list + +it listens on 4011 and 4012 diff --git a/dockertest/bootstrap/config b/dockertest/bootstrap/config new file mode 100644 index 000000000..b9fac5503 --- /dev/null +++ b/dockertest/bootstrap/config @@ -0,0 +1,39 @@ +{ + "Identity": { + "PeerID": "QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE", + "PrivKey": "CAAS4gQwggJeAgEAAoGBAL+E7A0fcQS9+CHO3YAHj+JzHnWyVA7qqtiAIYbTnp9UvHBb2VFj2Q8eeyKFZD5wHoq3AtOqmIb4TUOMEtWYqXnE8o0T9np8vyCRK5dPn5SVoUw9uax6o2X7OxO1HqTcXHNHGbracawJUdwsk4yuZUpzXLez03yocWwneR0JpVJPAgMBAAECgYAXsa4ygW1OFOKZ7CnjKQxYC738+a8EmWvBlTiQoaXCOI2HqRVdyGiWQkMhpjccsmpU5wdmgHiWWinU7YN3AYgV3cP3qAjyNLBFoxy2dKsS9AOWVwRuuRP12tD05kCCjG4rJAX0JEOClOOtzvQ7/bXarMc3/tMHW7TMLNV8MzcYwQJBAOP9aYSHp8VnsO5j32Ju5SjOQorSdcCweqeUxwlAnXz50KdbNSCMypP3TOt7VeiXTuSITtN44yh+eogF5c4ehycCQQDXDHVmPeBN7uqqqZxZwW5pdeJWvx+REiXXCLE6KEPWlcxbw1D9ublpCCFLYuM68rjq1sjsIVGtiV1tYoMdHJSZAkEA0ddMZ070fB0UHFaQJGktQoGVfXB4MQI94kBtcXanfX/xLBgmre7oBYh4o8TBLXMWigFri/iYG41N+iRzf2NZwQJBAIh8rMpufT2ZZLFaoxRIc4ZVvojmFufhR8j6CFnsElpQivq2tWHEDcx+z3rkUWopgXnzRmSwJQHqTDTPsH26lQkCQQCehmxqaQEwE/QKAI8L8YVolgY2cjUGi6qF/awnI584lDSCuJRU3R/c6nc9R8qljtlJYTtp9iUr8vuN+jt48j+6" + }, + "Datastore": { + "Type": "leveldb", + "Path": "/root/.go-ipfs/datastore" + }, + "Addresses": { + "Swarm": [ + "/ip4/0.0.0.0/tcp/4011", + "/ip4/0.0.0.0/udp/4012/utp" + ], + "API": "/ip4/127.0.0.1/tcp/5001" + }, + "Mounts": { + "IPFS": "/ipfs", + "IPNS": "/ipns" + }, + "Version": { + "Current": "0.1.7", + "Check": "error", + "CheckDate": "0001-01-01T00:00:00Z", + "CheckPeriod": "172800000000000", + "AutoUpdate": "minor" + }, + "Bootstrap": [ + ], + "Tour": { + "Last": "" + }, + "Logs": { + "Filename": "/root/.go-ipfs/logs/events.log", + "MaxSizeMB": 0, + "MaxBackups": 0, + "MaxAgeDays": 0 + } +} diff --git a/dockertest/build/.gitkeep b/dockertest/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/dockertest/client/Dockerfile b/dockertest/client/Dockerfile new file mode 100644 index 000000000..55b04f320 --- /dev/null +++ b/dockertest/client/Dockerfile @@ -0,0 +1,11 @@ +FROM zaqwsx_ipfs-test-img + +RUN ipfs init -b=1024 +ADD . /tmp/id +RUN mv -f /tmp/id/config /root/.go-ipfs/config +RUN ipfs id + +EXPOSE 4031 4032/udp + +ENTRYPOINT ["/bin/bash"] +CMD ["/tmp/id/run.sh"] diff --git a/dockertest/client/config b/dockertest/client/config new file mode 100644 index 000000000..afb9f8d77 --- /dev/null +++ b/dockertest/client/config @@ -0,0 +1,39 @@ +{ + "Addresses": { + "API": "/ip4/127.0.0.1/tcp/5001", + "Swarm": [ + "/ip4/0.0.0.0/tcp/4031", + "/ip4/0.0.0.0/udp/4032/utp" + ] + }, + "Bootstrap": [ + ], + "Datastore": { + "Path": "/root/.go-ipfs/datastore", + "Type": "leveldb" + }, + "Identity": { + "PeerID": "Qmbtc35vdjVh5o9w2AaT2SgcWwigsaoZUpRfq2FSrFD6mb", + "PrivKey": "CAAS4AQwggJcAgEAAoGBANlJUjOCbPXgYUfo1Pr6nlIjJDPNwN81ACamhaoEZ9VRHXI3fPe7RVAaaXrWLHb892mRqFi1ScE2lcMTLc7WGfyc7dwPqBOZqkVvT0KpCx3Mg246+WvnG8I3HCbWyjSP9tJflOBQxVq6qT2yZSXjNTtDdO4skd4PsPqBco53guYTAgMBAAECgYEAtIcYhrdMNBSSfp5RpZxnwbJ0t52xK0HruDEOSK2UX0Ufg+/aIjEza1QmYupi0xFltg5QojMs7hyd3Q+oNXro5tKsYVeiqrLsUh9jMjaQofzSlV9Oc+bhkkl48YWvF6Y8qx88UYAX+oJqB627H4S1gxLdNEJhPjEAD6n/jql3zUECQQDmHP75wJ7nC4TlxT1SHim5syMAqWNs/SOHnvX8yLrFV9FrMRzsD5qMlIEGBrAjaESzEck6XpbqkyxB8KKGo7OjAkEA8brtEh/AMoQ/yoSWdYT2MRbJxCAn+KG2c6Hi9AMMmJ+K779HxywpUIDYIa22hzLKYumYIuRa1X++1glOAFGq0QJAPQgXwFoMSy9M8jwcBXmmi3AtqnFCw5doIwJQL9l1X/3ot0txZlLFJOAGUHjZoqp2/h+LhYWs9U5PgLW4BYnJjQJAPydY/J0y93+5ss1FCdr8/wI3IHhOORT2t+sZgiqxxcYY5F4TAKQ2/wNKdDIQN+47FfB1gNgsKw8+6mhv6oFroQJACBF2yssNVXiXa2Na/a9tKYutGvxbm3lXzOvmpkW3FukbsObKYS344J1vdg0nzM6EWQCaiBweSA5TQ27iNW6BzQ==" + }, + "Logs": { + "Filename": "/root/.go-ipfs/logs/events.log", + "MaxAgeDays": 0, + "MaxBackups": 0, + "MaxSizeMB": 0 + }, + "Mounts": { + "IPFS": "/ipfs", + "IPNS": "/ipns" + }, + "Tour": { + "Last": "" + }, + "Version": { + "AutoUpdate": "minor", + "Check": "error", + "CheckDate": "0001-01-01T00:00:00Z", + "CheckPeriod": "172800000000000", + "Current": "0.1.7" + } +} diff --git a/dockertest/client/run.sh b/dockertest/client/run.sh new file mode 100644 index 000000000..bd316bd56 --- /dev/null +++ b/dockertest/client/run.sh @@ -0,0 +1,29 @@ +ipfs bootstrap add /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_TCP_PORT/QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE + +ipfs daemon & +sleep 3 + +while [ ! -f /data/id ] +do + echo waiting for server to add the file... + sleep 1 +done +echo client found file with hash: $(cat /data/id) + +ipfs cat $(cat /data/id) > file + +cat file + +if (($? > 0)); then + printf '%s\n' 'ipfs cat failed.' >&2 + exit 1 +fi + +diff -u file /data/file + +if (($? > 0)); then + printf '%s\n' 'files did not match' >&2 + exit 1 +fi + +echo "success" diff --git a/dockertest/data/Dockerfile b/dockertest/data/Dockerfile new file mode 100644 index 000000000..998656b6b --- /dev/null +++ b/dockertest/data/Dockerfile @@ -0,0 +1,5 @@ +FROM ubuntu + +ADD file /data/file + +VOLUME ["/data"] diff --git a/dockertest/fig.yml b/dockertest/fig.yml new file mode 100644 index 000000000..205b7b167 --- /dev/null +++ b/dockertest/fig.yml @@ -0,0 +1,36 @@ +data: + build: ./data + volumes: + - /data + +bootstrap: + build: ./bootstrap + expose: + - "4011" + - "4012/udp" + environment: + IPFS_LOGGING: error + +server: + build: ./server + links: + - bootstrap + volumes_from: + - data + expose: + - "4021" + - "4022/udp" + environment: + IPFS_LOGGING: error + +client: + build: ./client + links: + - bootstrap + volumes_from: + - data + expose: + - "4031" + - "4032/udp" + environment: + IPFS_LOGGING: error diff --git a/dockertest/server/Dockerfile b/dockertest/server/Dockerfile new file mode 100644 index 000000000..5590c7823 --- /dev/null +++ b/dockertest/server/Dockerfile @@ -0,0 +1,12 @@ +FROM zaqwsx_ipfs-test-img + +RUN ipfs init -b=1024 +ADD . /tmp/test +RUN mv -f /tmp/test/config /root/.go-ipfs/config +RUN ipfs id +RUN chmod +x /tmp/test/run.sh + +EXPOSE 4021 4022/udp + +ENTRYPOINT ["/bin/bash"] +CMD ["/tmp/test/run.sh"] diff --git a/dockertest/server/README.md b/dockertest/server/README.md new file mode 100644 index 000000000..01048ddbe --- /dev/null +++ b/dockertest/server/README.md @@ -0,0 +1,4 @@ +**requirements** + +* docker container with bootstrap node linked as "bootstrap" with ID QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE +* file in data volume, internally mapped to /data/file diff --git a/dockertest/server/config b/dockertest/server/config new file mode 100644 index 000000000..9d04b820b --- /dev/null +++ b/dockertest/server/config @@ -0,0 +1,39 @@ +{ + "Addresses": { + "API": "/ip4/127.0.0.1/tcp/5001", + "Swarm": [ + "/ip4/0.0.0.0/tcp/4021", + "/ip4/0.0.0.0/udp/4022/utp" + ] + }, + "Bootstrap": [ + ], + "Datastore": { + "Path": "/root/.go-ipfs/datastore", + "Type": "leveldb" + }, + "Identity": { + "PeerID": "Qmbtc2C7rqmAfdeMTM7FX4YF8CeBumMCfk5Z1GBCMbMTfY", + "PrivKey": "CAAS4AQwggJcAgEAAoGBANW3mJMmDSJbdRyykO0Ze5t6WL6jeTtpOhklxePBIkJL/Uil78Va/tODx6Mvv3GMCkbGvzWslTZXpaHa9vBmjE3MVZSmd5fLRybKT0zZ3juABKcx+WIVNw8JlkpEORihJdwb+5tRUC5pUcMzxqHSmGX+d6e9KZqLnv7piNKg2+r7AgMBAAECgYAqc6+w+wv82SHoM2gqULeG6MScCajZLkvGFwS5+vEtLh7/wUZhc3PO3AxZ0/A5Q9H+wRfWN5PkGYDjJ7WJhzUzGfTbrQ821JV6B3IUR4UHo2IgJkZO4EUB5L9KBUqvYxDJigtGBopgQh0EeDSS+9X8vaGmit5l4zcAfi+UGYPgMQJBAOCJQU8N2HW5SawBo2QX0bnCAAnu5Ilk2QaqwDZbDQaM5JWFcpRpGnjBhsZihHwVWvKCbnq83JhAGRQvKAEepMUCQQDzqjvIyM+Au42nP7SFDHoMjEnHW8Nimvz8zPbyrSUEHe4l9/yS4+BeRPxpwI5xgzp8g1wEYfNeXt08buYwCsy/AkBXWg5mSuSjJ+pZWGnQTtPwiGCrfJy8NteXmGYev11Z5wYmhTwGML1zrRZZp4oTG9u97LA+X6sSMB2RlKbjiKBhAkEAgl/hoSshK+YugwCpHE9ytmgRyeOlhYscNj+NGofeOHezRwmLUSUwlgAfdo4bKU1n69t1TrsCNspXYdCMxcPhjQJAMNxkJ8t2tFMpucCQfWJ09wvFKZSHX1/iD9GKWL0Qk2FcMCg3NXiqei5NL3NYqCWpdC/IfjsAEGCJrTFwp/OoUw==" + }, + "Logs": { + "Filename": "/root/.go-ipfs/logs/events.log", + "MaxAgeDays": 0, + "MaxBackups": 0, + "MaxSizeMB": 0 + }, + "Mounts": { + "IPFS": "/ipfs", + "IPNS": "/ipns" + }, + "Tour": { + "Last": "" + }, + "Version": { + "AutoUpdate": "minor", + "Check": "error", + "CheckDate": "0001-01-01T00:00:00Z", + "CheckPeriod": "172800000000000", + "Current": "0.1.7" + } +} diff --git a/dockertest/server/run.sh b/dockertest/server/run.sh new file mode 100644 index 000000000..6c1f4b005 --- /dev/null +++ b/dockertest/server/run.sh @@ -0,0 +1,17 @@ +# must be connected to bootstrap node +ipfs bootstrap add /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_TCP_PORT/QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE + +# wait for daemon to start/bootstrap +# alternatively use ipfs swarm connect +ipfs daemon & +sleep 3 +echo $(ipfs id) +# TODO instead of bootrapping: ipfs swarm connect /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_TCP_PORT/QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE + +# must mount this volume from data container +ipfs add -q /data/file > /data/id + +echo added file. hash is $(cat /data/id) + +# allow ample time for the client to pull the data +sleep 10000000 From f48ad524f8c224b3b443853c56cfbdaefcc149b8 Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 15 Dec 2014 05:24:26 -0800 Subject: [PATCH 3/4] fix: make the dockertest a bit more robust clean using script misc add another file misc good stuff License: MIT Signed-off-by: Brian Tiger Chow --- dockertest/Makefile | 32 ++++++++++++++++++++++++-------- dockertest/bin/clean.sh | 1 + dockertest/bin/save_logs.sh | 7 +++++++ dockertest/build/.gitignore | 2 ++ dockertest/client/run.sh | 30 ++++++++++++++++++++++++------ dockertest/data/.gitignore | 1 + dockertest/data/Dockerfile | 3 ++- dockertest/fig.yml | 7 ++++--- dockertest/server/run.sh | 7 ++++--- 9 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 dockertest/bin/clean.sh create mode 100644 dockertest/bin/save_logs.sh create mode 100644 dockertest/build/.gitignore create mode 100644 dockertest/data/.gitignore diff --git a/dockertest/Makefile b/dockertest/Makefile index fec031d9d..165cbbb6b 100644 --- a/dockertest/Makefile +++ b/dockertest/Makefile @@ -1,20 +1,36 @@ RANDOMSRC = Godeps/_workspace/src/github.com/jbenet/go-random/random +IPFS_DOCKER_IMAGE = zaqwsx_ipfs-test-img test: clean setup fig build --no-cache - fig up + fig up --no-color | tee build/fig.log + make save_logs # save the ipfs logs for inspection + # fig up won't report the error using an error code, so we grep the + # fig.log file to find out whether the call succeeded + tail build/fig.log | grep "exited with code 0" -setup: docker_ipfs_image data/file +setup: docker_ipfs_image data/filetiny data/filerand + +save_logs: + sh bin/save_logs.sh docker_ipfs_image: - docker images | grep zaqwsx_ipfs-test-img + docker images | grep $(IPFS_DOCKER_IMAGE) -data/file: bin/random - cp Makefile ./data/file +data/filetiny: Makefile + cp Makefile ./data/filetiny # simple -bin/random: +data/filerand: bin/random + ./bin/random 1000000 > ./data/filerand + +bin/random: go build -o ./bin/random ../$(RANDOMSRC) clean: - docker rm $(docker ps -q -a -f status=exited) || true - rm -f data/file + sh bin/clean.sh + fig stop + fig rm -v --force + rm -f bin/random + rm -f data/filetiny + rm -f data/filerand + rm -rf build/* diff --git a/dockertest/bin/clean.sh b/dockertest/bin/clean.sh new file mode 100644 index 000000000..7cc3e3f9e --- /dev/null +++ b/dockertest/bin/clean.sh @@ -0,0 +1 @@ +docker rm -f $( docker ps -q -a -f status=exited ) || true diff --git a/dockertest/bin/save_logs.sh b/dockertest/bin/save_logs.sh new file mode 100644 index 000000000..151b07c2c --- /dev/null +++ b/dockertest/bin/save_logs.sh @@ -0,0 +1,7 @@ +STRIP="perl -pe 's/\e\[?.*?[\@-~]//g'" + +# TODO use a for loop like a grownup +docker logs dockertest_bootstrap_1 2>&1 | eval $STRIP > ./build/bootstrap.log +docker logs dockertest_client_1 2>&1 | eval $STRIP > ./build/client.log +docker logs dockertest_data_1 2>&1 | eval $STRIP > ./build/data.log +docker logs dockertest_server_1 2>&1 | eval $STRIP > ./build/server.log diff --git a/dockertest/build/.gitignore b/dockertest/build/.gitignore new file mode 100644 index 000000000..d1871380a --- /dev/null +++ b/dockertest/build/.gitignore @@ -0,0 +1,2 @@ +*.log +go-random diff --git a/dockertest/client/run.sh b/dockertest/client/run.sh index bd316bd56..4de79278c 100644 --- a/dockertest/client/run.sh +++ b/dockertest/client/run.sh @@ -3,23 +3,41 @@ ipfs bootstrap add /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_T ipfs daemon & sleep 3 -while [ ! -f /data/id ] +while [ ! -f /data/idtiny ] do echo waiting for server to add the file... sleep 1 done -echo client found file with hash: $(cat /data/id) +echo client found file with hash: $(cat /data/idtiny) -ipfs cat $(cat /data/id) > file +ipfs cat $(cat /data/idtiny) > filetiny -cat file +cat filetiny + +diff -u filetiny /data/filetiny if (($? > 0)); then - printf '%s\n' 'ipfs cat failed.' >&2 + printf '%s\n' 'files did not match' >&2 exit 1 fi -diff -u file /data/file +while [ ! -f /data/idrand ] +do + echo waiting for server to add the file... + sleep 1 +done +echo client found file with hash: $(cat /data/idrand) + +cat /data/idrand + +ipfs cat $(cat /data/idrand) > filerand + +if (($? > 0)); then + printf '%s\n' 'ipfs cat failed' >&2 + exit 1 +fi + +diff -u filerand /data/filerand if (($? > 0)); then printf '%s\n' 'files did not match' >&2 diff --git a/dockertest/data/.gitignore b/dockertest/data/.gitignore new file mode 100644 index 000000000..a535e7d8a --- /dev/null +++ b/dockertest/data/.gitignore @@ -0,0 +1 @@ +file* diff --git a/dockertest/data/Dockerfile b/dockertest/data/Dockerfile index 998656b6b..86e365f4e 100644 --- a/dockertest/data/Dockerfile +++ b/dockertest/data/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu -ADD file /data/file +ADD filetiny /data/filetiny +ADD filerand /data/filerand VOLUME ["/data"] diff --git a/dockertest/fig.yml b/dockertest/fig.yml index 205b7b167..677078a97 100644 --- a/dockertest/fig.yml +++ b/dockertest/fig.yml @@ -2,6 +2,7 @@ data: build: ./data volumes: - /data + command: sleep 1000000 bootstrap: build: ./bootstrap @@ -9,7 +10,7 @@ bootstrap: - "4011" - "4012/udp" environment: - IPFS_LOGGING: error + IPFS_LOGGING: debug server: build: ./server @@ -21,7 +22,7 @@ server: - "4021" - "4022/udp" environment: - IPFS_LOGGING: error + IPFS_LOGGING: debug client: build: ./client @@ -33,4 +34,4 @@ client: - "4031" - "4032/udp" environment: - IPFS_LOGGING: error + IPFS_LOGGING: debug diff --git a/dockertest/server/run.sh b/dockertest/server/run.sh index 6c1f4b005..ec280e86b 100644 --- a/dockertest/server/run.sh +++ b/dockertest/server/run.sh @@ -5,13 +5,14 @@ ipfs bootstrap add /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_T # alternatively use ipfs swarm connect ipfs daemon & sleep 3 -echo $(ipfs id) # TODO instead of bootrapping: ipfs swarm connect /ip4/$BOOTSTRAP_PORT_4011_TCP_ADDR/tcp/$BOOTSTRAP_PORT_4011_TCP_PORT/QmNXuBh8HFsWq68Fid8dMbGNQTh7eG6hV9rr1fQyfmfomE # must mount this volume from data container -ipfs add -q /data/file > /data/id +ipfs add -q /data/filetiny > /data/idtiny +echo added tiny file. hash is $(cat /data/idtiny) -echo added file. hash is $(cat /data/id) +ipfs add -q /data/filerand > /data/idrand +echo added rand file. hash is $(cat /data/idrand) # allow ample time for the client to pull the data sleep 10000000 From a40c3bf549fc77a7219dd12265ef8427ab122a66 Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 15 Dec 2014 10:31:08 -0800 Subject: [PATCH 4/4] Update save_logs.sh --- dockertest/bin/save_logs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dockertest/bin/save_logs.sh b/dockertest/bin/save_logs.sh index 151b07c2c..6fa2bed81 100644 --- a/dockertest/bin/save_logs.sh +++ b/dockertest/bin/save_logs.sh @@ -1,3 +1,4 @@ +# STRIP strips color from terminal output STRIP="perl -pe 's/\e\[?.*?[\@-~]//g'" # TODO use a for loop like a grownup