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)