github.com/stackdocker/rkt@v0.10.1-0.20151109095037-1aa827478248/tests/functional.mk (about)

     1  $(call setup-stamp-file,FTST_FUNCTIONAL_TESTS_STAMP,/functional-tests)
     2  $(call setup-tmp-dir,FTST_TMPDIR)
     3  
     4  FTST_TEST_TMP := $(FTST_TMPDIR)/test-tmp
     5  FTST_IMAGE_DIR := $(FTST_TMPDIR)/image
     6  FTST_IMAGE_ROOTFSDIR := $(FTST_IMAGE_DIR)/rootfs
     7  FTST_IMAGE := $(FTST_TMPDIR)/rkt-inspect.aci
     8  FTST_IMAGE_MANIFEST_SRC := $(MK_SRCDIR)/image/manifest
     9  FTST_IMAGE_MANIFEST := $(FTST_IMAGE_DIR)/manifest
    10  FTST_IMAGE_TEST_DIRS := $(FTST_IMAGE_ROOTFSDIR)/dir1 $(FTST_IMAGE_ROOTFSDIR)/dir2
    11  FTST_ACE_MAIN_IMAGE_DIR := $(FTST_TMPDIR)/ace-main
    12  FTST_ACE_MAIN_IMAGE := $(FTST_TMPDIR)/rkt-ace-validator-main.aci
    13  FTST_ACE_MAIN_IMAGE_MANIFEST_SRC := Godeps/_workspace/src/github.com/appc/spec/ace/image_manifest_main.json
    14  FTST_ACE_MAIN_IMAGE_MANIFEST := $(FTST_ACE_MAIN_IMAGE_DIR)/manifest
    15  FTST_ACE_SIDEKICK_IMAGE_DIR := $(FTST_TMPDIR)/ace-sidekick
    16  FTST_ACE_SIDEKICK_IMAGE := $(FTST_TMPDIR)/rkt-ace-validator-sidekick.aci
    17  FTST_ACE_SIDEKICK_IMAGE_MANIFEST_SRC := Godeps/_workspace/src/github.com/appc/spec/ace/image_manifest_sidekick.json
    18  FTST_ACE_SIDEKICK_IMAGE_MANIFEST := $(FTST_ACE_SIDEKICK_IMAGE_DIR)/manifest
    19  FTST_INSPECT_BINARY := $(FTST_TMPDIR)/inspect
    20  FTST_ACI_INSPECT := $(FTST_IMAGE_ROOTFSDIR)/inspect
    21  FTST_ACE_BINARY := $(FTST_TMPDIR)/ace-validator
    22  FTST_ECHO_SERVER_BINARY := $(FTST_TMPDIR)/echo-socket-activated
    23  FTST_ACI_ECHO_SERVER := $(FTST_IMAGE_ROOTFSDIR)/echo-socket-activated
    24  FTST_EMPTY_IMAGE_DIR := $(FTST_TMPDIR)/empty-image
    25  FTST_EMPTY_IMAGE_ROOTFSDIR := $(FTST_EMPTY_IMAGE_DIR)/rootfs
    26  FTST_EMPTY_IMAGE := $(FTST_TMPDIR)/rkt-empty.aci
    27  FTST_EMPTY_IMAGE_MANIFEST_SRC := $(MK_SRCDIR)/empty-image/manifest
    28  FTST_EMPTY_IMAGE_MANIFEST := $(FTST_EMPTY_IMAGE_DIR)/manifest
    29  
    30  TOPLEVEL_CHECK_STAMPS += $(FTST_FUNCTIONAL_TESTS_STAMP)
    31  TOPLEVEL_FUNCTIONAL_CHECK_STAMPS += $(FTST_FUNCTIONAL_TESTS_STAMP)
    32  INSTALL_FILES += $(FTST_IMAGE_MANIFEST_SRC):$(FTST_IMAGE_MANIFEST):- $(FTST_INSPECT_BINARY):$(FTST_ACI_INSPECT):- $(FTST_EMPTY_IMAGE_MANIFEST_SRC):$(FTST_EMPTY_IMAGE_MANIFEST):- $(FTST_ACE_MAIN_IMAGE_MANIFEST_SRC):$(FTST_ACE_MAIN_IMAGE_MANIFEST):- $(FTST_ACE_SIDEKICK_IMAGE_MANIFEST_SRC):$(FTST_ACE_SIDEKICK_IMAGE_MANIFEST):- $(FTST_ECHO_SERVER_BINARY):$(FTST_ACI_ECHO_SERVER):-
    33  CREATE_DIRS += $(FTST_IMAGE_DIR) $(FTST_EMPTY_IMAGE_DIR) $(FTST_EMPTY_IMAGE_ROOTFSDIR) $(FTST_IMAGE_TEST_DIRS) $(FTST_TEST_TMP)
    34  INSTALL_DIRS += $(FTST_IMAGE_ROOTFSDIR):0755
    35  CLEAN_FILES += $(FTST_IMAGE) $(FTST_ECHO_SERVER_BINARY) $(FTST_INSPECT_BINARY) $(FTST_EMPTY_IMAGE) $(FTST_IMAGE_ROOTFSDIR)/dir1/file $(FTST_IMAGE_ROOTFSDIR)/dir2/file $(FTST_ACE_BINARY)
    36  CLEAN_DIRS += $(FTST_IMAGE_ROOTFSDIR)/dir1 $(FTST_IMAGE_ROOTFSDIR)/dir2
    37  CLEAN_SYMLINKS += $(FTST_IMAGE_ROOTFSDIR)/inspect-link
    38  
    39  $(call forward-vars,$(FTST_FUNCTIONAL_TESTS_STAMP), \
    40  	RKT_BINARY ACTOOL FTST_IMAGE FTST_EMPTY_IMAGE FTST_TEST_TMP ABS_GO \
    41  	FTST_INSPECT_BINARY GO_ENV GO_TEST_FUNC_ARGS REPO_PATH \
    42  	FTST_ACE_MAIN_IMAGE FTST_ACE_SIDEKICK_IMAGE)
    43  $(FTST_FUNCTIONAL_TESTS_STAMP): $(FTST_IMAGE) $(FTST_EMPTY_IMAGE) $(ACTOOL_STAMP) $(RKT_STAMP) $(FTST_ACE_MAIN_IMAGE) $(FTST_ACE_SIDEKICK_IMAGE) | $(FTST_TEST_TMP)
    44  	$(VQ) \
    45  	$(call vb,vt,GO TEST,$(REPO_PATH)/tests) \
    46  	sudo RKT="$(RKT_BINARY)" ACTOOL="$(ACTOOL)" RKT_INSPECT_IMAGE="$(FTST_IMAGE)" RKT_EMPTY_IMAGE="$(FTST_EMPTY_IMAGE)" RKT_ACE_MAIN_IMAGE=$(FTST_ACE_MAIN_IMAGE) RKT_ACE_SIDEKICK_IMAGE=$(FTST_ACE_SIDEKICK_IMAGE) FUNCTIONAL_TMP="$(FTST_TEST_TMP)" GO="$(ABS_GO)" INSPECT_BINARY="$(FTST_INSPECT_BINARY)" $(GO_ENV) "$(ABS_GO)" test -timeout 30m -v $(GO_TEST_FUNC_ARGS) $(REPO_PATH)/tests
    47  
    48  $(call forward-vars,$(FTST_IMAGE), \
    49  	FTST_IMAGE_ROOTFSDIR ACTOOL FTST_IMAGE_DIR)
    50  $(FTST_IMAGE): $(FTST_IMAGE_MANIFEST) $(FTST_ACI_INSPECT) $(FTST_ACI_ECHO_SERVER) | $(FTST_IMAGE_TEST_DIRS)
    51  	$(VQ) \
    52  	set -e; \
    53  	$(call vb,v2,GEN,$(call vsp,$(FTST_IMAGE_ROOTFSDIR)/dir1/file)) \
    54  	echo -n dir1 >$(FTST_IMAGE_ROOTFSDIR)/dir1/file; \
    55  	$(call vb,v2,GEN,$(call vsp,$(FTST_IMAGE_ROOTFSDIR)/dir2/file)) \
    56  	echo -n dir2 >$(FTST_IMAGE_ROOTFSDIR)/dir2/file; \
    57  	$(call vb,v2,LN SF,/inspect $(call vsp,$(FTST_IMAGE_ROOTFSDIR)/inspect-link)) \
    58  	ln -sf /inspect $(FTST_IMAGE_ROOTFSDIR)/inspect-link; \
    59  	$(call vb,vt,ACTOOL,$(call vsp,$@)) \
    60  	"$(ACTOOL)" build --overwrite --owner-root "$(FTST_IMAGE_DIR)" "$@"
    61  
    62  # variables for makelib/build_go_bin.mk
    63  BGB_STAMP := $(FTST_FUNCTIONAL_TESTS_STAMP)
    64  BGB_BINARY := $(FTST_INSPECT_BINARY)
    65  BGB_PKG_IN_REPO := $(call go-pkg-from-dir)/inspect
    66  BGB_GO_FLAGS := -a -installsuffix cgo
    67  BGB_ADDITIONAL_GO_ENV := CGO_ENABLED=0
    68  
    69  include makelib/build_go_bin.mk
    70  
    71  BGB_STAMP := $(FTST_FUNCTIONAL_TESTS_STAMP)
    72  BGB_BINARY := $(FTST_ACE_BINARY)
    73  BGB_PKG_IN_REPO := Godeps/_workspace/src/github.com/appc/spec/ace
    74  BGB_GO_FLAGS := -a -installsuffix cgo
    75  BGB_ADDITIONAL_GO_ENV := CGO_ENABLED=0
    76  
    77  include makelib/build_go_bin.mk
    78  
    79  $(call forward-vars,$(FTST_EMPTY_IMAGE), \
    80  	ACTOOL FTST_EMPTY_IMAGE_DIR)
    81  $(FTST_EMPTY_IMAGE): $(FTST_EMPTY_IMAGE_MANIFEST) | $(FTST_EMPTY_IMAGE_ROOTFSDIR)
    82  	$(VQ) \
    83  	$(call vb,vt,ACTOOL,$(call vsp,$@)) \
    84  	"$(ACTOOL)" build --overwrite "$(FTST_EMPTY_IMAGE_DIR)" "$@"
    85  
    86  # variables for makelib/build_go_bin.mk
    87  BGB_STAMP := $(FTST_FUNCTIONAL_TESTS_STAMP)
    88  BGB_BINARY := $(FTST_ECHO_SERVER_BINARY)
    89  BGB_PKG_IN_REPO := $(call go-pkg-from-dir)/echo-socket-activated
    90  BGB_GO_FLAGS := -a -installsuffix cgo
    91  BGB_ADDITIONAL_GO_ENV := CGO_ENABLED=0
    92  
    93  include makelib/build_go_bin.mk
    94  
    95  # 1 - image
    96  # 2 - aci directory
    97  # 3 - ace validator
    98  define FTST_GENERATE_ACE_IMAGE
    99  
   100  $$(call forward-vars,$1,ACTOOL)
   101  $1: $2/manifest $2/rootfs/ace-validator | $2/rootfs/opt/acvalidator
   102  	$$(VQ) \
   103  	$$(call vb,vt,ACTOOL,$$(call vsp,$$@)) \
   104  	"$$(ACTOOL)" build --overwrite "$2" "$1"
   105  
   106  CREATE_DIRS += $2 $$(call dir-chain,$2,rootfs/opt/acvalidator)
   107  INSTALL_FILES += $3:$2/rootfs/ace-validator:-
   108  CLEAN_FILES += $1
   109  endef
   110  
   111  $(eval $(call FTST_GENERATE_ACE_IMAGE,$(FTST_ACE_MAIN_IMAGE),$(FTST_ACE_MAIN_IMAGE_DIR),$(FTST_ACE_BINARY)))
   112  $(eval $(call FTST_GENERATE_ACE_IMAGE,$(FTST_ACE_SIDEKICK_IMAGE),$(FTST_ACE_SIDEKICK_IMAGE_DIR),$(FTST_ACE_BINARY)))
   113  
   114  $(call undefine-namespaces,FTST)