sbsv2/raptor/test/smoke_suite/test_resources/retry/retry_test.flm
author lorewang
Wed, 01 Dec 2010 16:05:36 +0800
changeset 715 e0739b8406dd
parent 591 22486c9c7b15
permissions -rw-r--r--
Specify extenal tool with path
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
591
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     1
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     2
# This FLM is for testing the retry mechanism in our rules.
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     3
# It will fail on the first FAILURES invocations and then succeed.
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     4
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     5
MY_COUNTER:=$(EPOCROOT)/epoc32/build/$(COUNTER)
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     6
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     7
define retry_test
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     8
ALL::
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     9
	$(call startrule,retry_test) \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    10
	(TRY=1; \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    11
	while (( $$$$TRY <= $(FAILURES) )); do \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    12
		if [ ! -f $(MY_COUNTER).$$$$TRY ]; then \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    13
			touch $(MY_COUNTER).$$$$TRY; \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    14
			echo DELIBERATE FAILURE $$$$TRY for $(COUNTER); \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    15
			exit 1; \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    16
		fi; \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    17
		(( TRY=$$$$TRY + 1 )); \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    18
	done) && \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    19
	echo SUCCESS for $(COUNTER) && \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    20
	touch $(MY_COUNTER).ok \
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    21
	$(call endrule,retry_test)
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    22
endef
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    23
$(eval $(retry_test))