2012-04-28 08:16:12 -07:00
|
|
|
# -*- makefile -*-
|
|
|
|
#
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
|
|
|
# Verify dependencies are available
|
|
|
|
$(call requiredfunction,getargv subargv is_XinY errorifneq)
|
|
|
|
|
|
|
|
ifdef VERBOSE
|
2012-05-11 11:47:29 -07:00
|
|
|
$(warning loading test)
|
2012-04-28 08:16:12 -07:00
|
|
|
endif
|
|
|
|
|
|
|
|
zero := 0
|
|
|
|
one := 1
|
|
|
|
|
|
|
|
# Verify 'invalid' is not matched
|
|
|
|
val := invalid
|
|
|
|
$(call errorifneq,$(zero),$(words $(call is_XinY,foo,$(val))))
|
|
|
|
$(call errorifneq,$(zero),$(words $(call is_XinY,clean,$(val))))
|
|
|
|
$(call errorifneq,$(zero),$(words $(call is_XinY,clean%,$(val))))
|
|
|
|
|
|
|
|
# verify strcmp('clean')
|
|
|
|
val := clean
|
|
|
|
$(call errorifneq,$(zero),$(words $(call is_XinY,foo,$(val))))
|
|
|
|
$(call errorifneq,$(one),$(words $(call is_XinY,clean,$(val))))
|
2012-06-12 11:34:44 -07:00
|
|
|
$(call errorifneq,$(one),$(words $(call is_XinY,clean%,$(val))))
|
2012-04-28 08:16:12 -07:00
|
|
|
$(call errorifneq,$(one),$(words $(call is_XinY,%clean,$(val))))
|
|
|
|
|
|
|
|
# List match for 'clean'
|
|
|
|
val := blah clean distclean FcleanG clean-level-1
|
|
|
|
wanted := clean distclean clean-level-1
|
|
|
|
$(call errorifneq,$(zero),$(words $(call is_XinY_debug,foo,$(val))))
|
|
|
|
$(call errorifneq,$(one),$(words $(call is_XinY,clean,$(val))))
|
|
|
|
$(call errorifneq,$(one),$(words $(call is_XinY,distclean,$(val))))
|
|
|
|
|
|
|
|
# pattern match 'clean'
|
|
|
|
# match: clean, distclean, clean-level-1
|
|
|
|
# exclude: FcleanG
|
|
|
|
TEST_MAKECMDGOALS := $(val)
|
|
|
|
$(call errorifneq,3,$(words $(call isTargetStemClean)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := invalid
|
|
|
|
$(call errorifneq,$(zero),$(words $(call isTargetStemClean)))
|
|
|
|
|
2012-05-16 11:46:28 -07:00
|
|
|
|
|
|
|
#############################
|
|
|
|
ifdef VERBOSE
|
|
|
|
$(call banner,Unit test: isTargetStem)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Verify list argument processing
|
|
|
|
TEST_MAKECMDGOALS := echo
|
|
|
|
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := echo-123
|
|
|
|
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := show
|
|
|
|
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := show-123
|
|
|
|
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := show-123-echo
|
|
|
|
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|
|
|
|
TEST_MAKECMDGOALS := invalid
|
|
|
|
$(call errorifneq,$(zero),$(words $(call isTargetStem,echo,show)))
|
|
|
|
|