| # -*- 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 |
| $(warning loading test) |
| 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)))) |
| $(call errorifneq,$(one),$(words $(call is_XinY,clean%,$(val)))) |
| $(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))) |
| |
| |
| ############################# |
| 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))) |
| |