aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_deps.mk
diff options
context:
space:
mode:
Diffstat (limited to 'test/core_deps.mk')
-rw-r--r--test/core_deps.mk34
1 files changed, 32 insertions, 2 deletions
diff --git a/test/core_deps.mk b/test/core_deps.mk
index dcb84b6..b96af8d 100644
--- a/test/core_deps.mk
+++ b/test/core_deps.mk
@@ -210,6 +210,36 @@ core-deps-dep-built-force-full: init
$t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | grep -v ".git" | sort | diff $(APP)/EXPECT -
$t rm $(APP)/EXPECT
+ $i "Touch one cowlib file to mark it for recompilation"
+ $t $(SLEEP)
+ $t touch $(APP)/deps/cowlib/src/cow_http.erl
+
+ $i "Check that cowlib is not rebuilt if \`FORCE_REBUILD\` is empty"
+ $t touch $(APP)/EXPECT
+ $t $(SLEEP)
+ $t $(MAKE) -C $(APP) FORCE_REBUILD= $v
+ $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | sort | diff $(APP)/EXPECT -
+ $t rm $(APP)/EXPECT
+
+ $i "Check that cowlib is not rebuilt if \`FORCE_REBUILD\` does not mention cowlib"
+ $t touch $(APP)/EXPECT
+ $t $(SLEEP)
+ $t $(MAKE) -C $(APP) FORCE_REBUILD='other_dep' $v
+ $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | sort | diff $(APP)/EXPECT -
+ $t rm $(APP)/EXPECT
+
+ $i "Check that cowlib is rebuilt if \`FORCE_REBUILD\` contains cowlib"
+ $t printf "%s\n" \
+ $(APP)/deps/cowlib/cowlib.d \
+ $(APP)/deps/cowlib/ebin/cowlib.app \
+ $(APP)/deps/cowlib/ebin/cow_http.beam \
+ $(APP)/deps/cowlib/ebin/dep_built | sort > $(APP)/EXPECT
+ $t $(SLEEP)
+ $t $(MAKE) -C $(APP) FORCE_REBUILD='other_dep cowlib' $v
+# Files in .git might end up modified due to the id generation in the .app file.
+ $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | grep -v ".git" | sort | diff $(APP)/EXPECT -
+ $t rm $(APP)/EXPECT
+
core-deps-dep-built-ln: init
$i "Bootstrap a new OTP library named $(APP)"
@@ -1015,8 +1045,8 @@ core-deps-dep-makefile-change: init
$t $(MAKE) -C $(APP)/my_dep/ -f erlang.mk bootstrap-lib $v
$i "Add my_dep to the list of dependencies"
-# We use force_rebuild_dep to ensure it gets rebuilt even on Windows.
- $t perl -ni.bak -e "print;if ($$.==1) {print \"DEPS = my_dep\ndep_my_dep = ln $(CURDIR)/$(APP)/my_dep/\nforce_rebuild_dep = test \";print '\$$1';print \" = $(CURDIR)/$(APP)/deps/my_dep\n\"}" $(APP)/Makefile
+# We use FORCE_REBUILD to ensure it gets rebuilt even on Windows.
+ $t perl -ni.bak -e "print;if ($$.==1) {print \"DEPS = my_dep\ndep_my_dep = ln $(CURDIR)/$(APP)/my_dep/\nFORCE_REBUILD = my_dep\n\"}" $(APP)/Makefile
ifdef LEGACY
$i "Add my_dep to the applications key in the .app.src file"