github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/test/integration/Makefile (about) 1 # This Makefile provides a way to really simple way to run benchmarks in a 2 # docker environment. 3 4 IPFS_ROOT = ../.. 5 IMAGE = jbenet/go-ipfs-bench 6 CONTAINER = go-ipfs-bench 7 PACKAGE = integrationtest 8 PACKAGE_DIR = test/integration 9 BUILD_DIR = ./build/bench 10 CONTAINER_WORKING_DIR = /go 11 CPU_PROF_NAME = cpu.out 12 EXTRA_TEST_ARGS = 13 14 all: collect 15 16 collect: clean build_image run_profiler cp_pprof_from_container 17 18 cp_pprof_from_container: 19 docker cp $(CONTAINER):$(CONTAINER_WORKING_DIR)/$(CPU_PROF_NAME) $(BUILD_DIR) 20 docker cp $(CONTAINER):$(CONTAINER_WORKING_DIR)/$(PACKAGE).test $(BUILD_DIR) 21 22 build_image: 23 cd $(IPFS_ROOT) && docker build -t $(IMAGE) . 24 25 run_profiler: 26 docker run --name $(CONTAINER) -it --entrypoint go $(IMAGE) test ./src/github.com/ipfs/go-ipfs/$(PACKAGE_DIR) --cpuprofile=$(CPU_PROF_NAME) $(EXTRA_TEST_ARGS) 27 28 29 clean: 30 docker rm $(CONTAINER) || true 31 rm -rf $(BUILD_DIR) 32 33 analyze: 34 go tool pprof $(BUILD_DIR)/$(PACKAGE).test $(BUILD_DIR)/$(CPU_PROF_NAME)