| # -*- 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/. |
| |
| ifdef VERBOSE |
| $(warning loading test) |
| endif |
| |
| space=$(null) $(null) |
| GENERATED_DIRS = bogus # test data |
| |
| undefine USE_AUTOTARGETS_MK |
| undefine INCLUDED_AUTOTARGETS_MK |
| include $(topsrcdir)/config/makefiles/autotargets.mk |
| |
| ifndef INCLUDED_AUTOTARGETS_MK |
| $(error autotargets.mk was not included |
| endif |
| |
| $(call requiredfunction,mkdir_deps) |
| |
| |
| # Verify test data populated makefile vars correctly |
| vars = AUTO_DEPS GARBAGE_DIRS GENERATED_DIRS_DEPS |
| $(foreach var,$(vars),$(call errorIfEmpty,$(var))) |
| |
| # Data should also be valid |
| ifneq (bogus,$(findstring bogus,$(AUTO_DEPS))) |
| $(error AUTO_DEPS=[$(AUTO_DEPS)] is not set correctly) |
| endif |
| |
| |
| # relpath |
| path := foo/bar.c |
| exp := foo/.mkdir.done |
| found := $(call mkdir_deps,$(dir $(path))) |
| ifneq ($(exp),$(found)) |
| $(error mkdir_deps($(path))=$(exp) not set correctly [$(found)]) |
| endif |
| |
| # abspath |
| path := /foo//bar/ |
| exp := /foo/bar/.mkdir.done |
| found := $(call mkdir_deps,$(path)) |
| ifneq ($(exp),$(found)) |
| $(error mkdir_deps($(path))=$(exp) not set correctly [$(found)]) |
| endif |
| |
| |
| ## verify strip_slash |
| ##################### |
| |
| path := a/b//c///d////e///// |
| exp := a/b/c/d/e/.mkdir.done |
| found := $(call mkdir_deps,$(path)) |
| ifneq ($(exp),$(found)) |
| $(error mkdir_deps($(path))=$(exp) not set correctly [$(found)]) |
| endif |
| |
| |
| ## verify mkdir_stem() |
| ###################### |
| path := verify/mkdir_stem |
| pathD = $(call mkdir_deps,$(path)) |
| pathS = $(call mkdir_stem,$(pathD)) |
| exp := $(path) |
| |
| ifeq ($(pathD),$(pathS)) |
| $(error mkdir_deps and mkdir_stem should not match [$(pathD)]) |
| endif |
| ifneq ($(pathS),$(exp)) |
| $(error mkdir_stem=[$(pathS)] != exp=[$(exp)]) |
| endif |
| |
| |
| ## Verify embedded whitespace has been protected |
| path := a/b$(space)c//d |
| exp := a/b$(space)c/d |
| found := $(call slash_strip,$(path)) |
| ifneq ($(exp),$(found)) |
| $(error slash_strip($(path))=$(exp) not set correctly [$(found)]) |
| endif |