Browse Source

Add a test for ERLANG_MK_BUILD_DIR

Loïc Hoguin 9 years ago
parent
commit
77e8b7c590
1 changed files with 27 additions and 1 deletions
  1. 27 1
      test/Makefile

+ 27 - 1
test/Makefile

@@ -73,7 +73,7 @@ clean-core: clean-core-upgrade
 
 # Core: Erlang.mk upgrade.
 
-CORE_UPGRADE_CASES = no-config custom-config renamed-config
+CORE_UPGRADE_CASES = no-config custom-config renamed-config custom-build-dir
 CORE_UPGRADE_TARGETS = $(addprefix core-upgrade-,$(CORE_UPGRADE_CASES))
 CORE_UPGRADE_CLEAN_TARGETS = $(addprefix clean-,$(CORE_UPGRADE_TARGETS))
 
@@ -135,6 +135,32 @@ core-upgrade-renamed-config: build clean-core-upgrade-renamed-config
 	$i "Check that the bootstrap plugin is gone"
 	$t if $(MAKE) -C $(APP) list-templates $v; then false; fi
 
+core-upgrade-custom-build-dir: build clean-core-upgrade-custom-build-dir
+
+	$i "Bootstrap a new OTP library named $(APP)"
+	$t mkdir $(APP)/
+	$t cp ../erlang.mk $(APP)/
+	$t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
+
+	$i "Append a rule to the Erlang.mk file for testing purposes"
+	$t echo "erlang_mk_upgrade_test_rule: ; @echo FAIL" >> $(APP)/erlang.mk
+
+	$i "Check that the test rule works as intended"
+	$t test "FAIL" = "`$(MAKE) -C $(APP) --no-print-directory erlang_mk_upgrade_test_rule V=0`"
+
+	$i "Create the custom build directory"
+	$t mkdir $(APP)/custom/
+	$t test -d $(APP)/custom/
+
+	$i "Upgrade Erlang.mk with a custom build directory"
+	$t ERLANG_MK_BUILD_DIR=custom $(MAKE) -C $(APP) erlang-mk $v
+
+	$i "Check that the rule is gone"
+	$t if $(MAKE) -C $(APP) erlang_mk_upgrade_test_rule $v; then false; fi
+
+	$i "Check that the custom build directory is gone"
+	$t test ! -d $(APP)/custom/
+
 clean-core-upgrade: $(CORE_UPGRADE_CLEAN_TARGETS)
 
 $(CORE_UPGRADE_CLEAN_TARGETS):