blob: 83b9883ee6e99812799f6d15022aaa7eb62cbb09 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# Shell plugin.
shell_TARGETS = $(call list_targets,shell)
.PHONY: shell $(shell_TARGETS)
shell: $(shell_TARGETS)
shell-compile: init
$i "Bootstrap a new OTP application named $(APP)"
$t mkdir $(APP)/
$t cp ../erlang.mk $(APP)/
$t $(MAKE) -C $(APP) -f erlang.mk bootstrap $v
$i "Ensure our application is recompiled before the shell runs"
$t perl -ni.bak -e 'print;if ($$.==1) {print "shell:: app\n"}' $(APP)/Makefile
$i "Run the shell"
$t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v
$i "Check that all compiled files exist"
$t test -f $(APP)/$(APP).d
$t test -f $(APP)/ebin/$(APP).app
$t test -f $(APP)/ebin/$(APP)_app.beam
$t test -f $(APP)/ebin/$(APP)_sup.beam
shell-default: init
$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 "Run the shell"
$t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v
#shell-kjell: init
#
# $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 "Add Kjell to the list of shell dependencies and set as default shell"
# $t perl -ni.bak -e 'print;if ($$.==1) {print "SHELL_DEPS = kjell\nSHELL_ERL = \$$(DEPS_DIR)/kjell/bin/kjell\n"}' $(APP)/Makefile
#
# $i "Run the shell"
# $t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v
shell-test-dir: init
$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 "Generate a module in TEST_DIR"
$t mkdir $(APP)/test
$t printf "%s\n" \
"-module(foo)." > $(APP)/test/foo.erl
$i "Build the test files"
$t $(MAKE) -C $(APP) test-build $v
$i "Check that the module is visible"
$t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'foo:module_info()' -eval 'halt()'" $v
|