diff options
author | Loïc Hoguin <essen@ninenines.eu> | 2018-11-26 13:22:17 +0100 |
---|---|---|
committer | Loïc Hoguin <essen@ninenines.eu> | 2018-11-26 13:22:17 +0100 |
commit | 6eaf07deb49f3a9adb6e2efcba44a8bfce3fd87c (patch) | |
tree | da8336a91765bd5963a97332d93547fc5f204a1a /test | |
parent | 5498bec3a1e3868258803382a92d31b4bc8014fa (diff) | |
download | erlang.mk-6eaf07deb49f3a9adb6e2efcba44a8bfce3fd87c.tar.gz erlang.mk-6eaf07deb49f3a9adb6e2efcba44a8bfce3fd87c.tar.bz2 erlang.mk-6eaf07deb49f3a9adb6e2efcba44a8bfce3fd87c.zip |
Fix propagation of SP in sub-apps
And some refactor and additional testing for overriding.
Turns out we can override some variables even if ?= is not used,
so nothing had to be done to support overriding.
Diffstat (limited to 'test')
-rw-r--r-- | test/plugin_bootstrap.mk | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/plugin_bootstrap.mk b/test/plugin_bootstrap.mk index 8692609..1b2915c 100644 --- a/test/plugin_bootstrap.mk +++ b/test/plugin_bootstrap.mk @@ -130,6 +130,70 @@ endif {ok, []} = application:get_key($(APP), modules), \ halt()" +bootstrap-new-app-sp: build clean + + $i "Bootstrap a new OTP application named $(APP)" + $t mkdir $(APP)/ + $t cp ../erlang.mk $(APP)/ + $t $(MAKE) -C $(APP) -f erlang.mk bootstrap SP=2 $v + + $i "Create a new application my_app" + $t $(MAKE) -C $(APP) new-app in=my_app $v + + $i "Check that SP is included in the new Makefile" + $t grep -q "SP = 2" $(APP)/apps/my_app/Makefile + + $i "Check that bootstrapped files have no tabs" +ifdef LEGACY + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app.app.src`" +endif + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app_app.erl`" + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app_sup.erl`" + +# Everything looks OK, but let's compile the application to make sure. + $i "Build the application" + $t $(MAKE) -C $(APP) $v + + $i "Check that all compiled files exist" + $t test -f $(APP)/ebin/$(APP).app + $t test -f $(APP)/ebin/$(APP)_app.beam + $t test -f $(APP)/ebin/$(APP)_sup.beam + $t test -f $(APP)/apps/my_app/ebin/my_app.app + $t test -f $(APP)/apps/my_app/ebin/my_app_app.beam + $t test -f $(APP)/apps/my_app/ebin/my_app_sup.beam + +bootstrap-new-app-sp-override: build clean + + $i "Bootstrap a new OTP application named $(APP)" + $t mkdir $(APP)/ + $t cp ../erlang.mk $(APP)/ + $t $(MAKE) -C $(APP) -f erlang.mk bootstrap SP=2 $v + + $i "Create a new application my_app" + $t $(MAKE) -C $(APP) new-app in=my_app SP=8 $v + + $i "Check that the SP we provided is included in the new Makefile" + $t grep -q "SP = 8" $(APP)/apps/my_app/Makefile + + $i "Check that bootstrapped files have no tabs" +ifdef LEGACY + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app.app.src`" +endif + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app_app.erl`" + $t test -z "`awk -F "\t" 'NF > 1' $(APP)/apps/my_app/src/my_app_sup.erl`" + +# Everything looks OK, but let's compile the application to make sure. + $i "Build the application" + $t $(MAKE) -C $(APP) $v + + $i "Check that all compiled files exist" + $t test -f $(APP)/ebin/$(APP).app + $t test -f $(APP)/ebin/$(APP)_app.beam + $t test -f $(APP)/ebin/$(APP)_sup.beam + $t test -f $(APP)/apps/my_app/ebin/my_app.app + $t test -f $(APP)/apps/my_app/ebin/my_app_app.beam + $t test -f $(APP)/apps/my_app/ebin/my_app_sup.beam + bootstrap-rel: build clean $i "Bootstrap a new release-enabled OTP application named $(APP)" |