4
# Copyright Ericsson AB 1997-2011. All Rights Reserved.
6
# The contents of this file are subject to the Erlang Public License,
7
# Version 1.1, (the "License"); you may not use this file except in
8
# compliance with the License. You should have received a copy of the
9
# Erlang Public License along with this software. If not, it can be
10
# retrieved online at http://www.erlang.org/.
12
# Software distributed under the License is distributed on an "AS IS"
13
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
# the License for the specific language governing rights and limitations
20
# For an outline of how this all_SUITE_data stuff works, see the
21
# make file ../../ssl/test/Makefile.
23
include $(ERL_TOP)/make/target.mk
25
include $(ERL_TOP)/make/$(TARGET)/otp.mk
27
# ----------------------------------------------------
29
# ----------------------------------------------------
34
# ----------------------------------------------------
35
# Release directory specification
36
# ----------------------------------------------------
37
RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
40
# ----------------------------------------------------
42
# ----------------------------------------------------
44
-I$(ERL_TOP)/lib/test_server/include/ \
45
-I$(ERL_TOP)/lib/inets/src/inets_app \
46
-I$(ERL_TOP)/lib/inets/src/http_lib \
47
-I$(ERL_TOP)/lib/inets/src/http_client \
48
-I$(ERL_TOP)/lib/inets/src/ftp
52
ifeq ($(TESTROOT_DIR),)
53
TESTROOT_DIR = /ldisk/tests/$(USER)/inets
56
ifeq ($(INETS_DATA_DIR),)
57
INETS_DATA_DIR = $(TESTROOT_DIR)/data_dir
60
ifeq ($(INETS_PRIV_DIR),)
61
INETS_PRIV_DIR = $(TESTROOT_DIR)/priv_dir
64
INETS_FLAGS = -Dinets_data_dir='"$(INETS_DATA_DIR)"' \
65
-Dinets_priv_dir='"$(INETS_PRIV_DIR)"'
69
### test suite debug flags
71
ifeq ($(FTP_DEBUG_CLIENT),)
75
ifeq ($(FTP_DEBUG_CLIENT),)
76
FTP_FLAGS += -Dftp_debug_client
79
ifeq ($(FTP_TRACE_CLIENT),)
83
ifeq ($(FTP_TRACE_CLIENT),y)
84
FTP_FLAGS += -Dftp_trace_client
92
FTP_FLAGS += -Dftp_log
96
FTP_FLAGS += -Dftp_debug -Dftp_log
99
ifeq ($(INETS_DEBUG),)
103
ifeq ($(INETS_DEBUG),l)
104
INETS_FLAGS += -Dinets_log
107
ifeq ($(INETS_DEBUG),d)
108
INETS_FLAGS += -Dinets_debug -Dinets_log
113
### HTTPD verbosity flags
117
INETS_FLAGS += -Dhttpd_manager_verbosity=$(MANV)
119
INETS_FLAGS += -Dhttpd_manager_verbosity=trace
123
INETS_FLAGS += -Dhttpd_request_handler_verbosity=$(REQV)
125
INETS_FLAGS += -Dhttpd_request_handler_verbosity=trace
129
INETS_FLAGS += -Dhttpd_acceptor_verbosity=$(ACCV)
131
INETS_FLAGS += -Dhttpd_acceptor_verbosity=trace
135
INETS_FLAGS += -Dhttpd_auth_verbosity=$(AUTHV)
137
INETS_FLAGS += -Dhttpd_auth_verbosity=log
141
INETS_FLAGS += -Dhttpd_security_verbosity=$(SECV)
143
INETS_FLAGS += -Dhttpd_security_verbosity=log
146
INETS_FLAGS += -pa ../../inets/ebin
148
INETS_ROOT = ../../inets
154
ftp_solaris8_sparc_test \
155
ftp_solaris9_sparc_test \
156
ftp_solaris10_sparc_test \
157
ftp_solaris10_x86_test \
160
ftp_macosx_x86_test \
161
ftp_macosx_ppc_test \
162
ftp_openbsd_x86_test \
163
ftp_freebsd_x86_test \
164
ftp_netbsd_x86_test \
165
ftp_windows_xp_test \
166
ftp_windows_2003_server_test \
190
HRL_FILES = inets_test_lib.hrl \
197
ERL_FILES = $(MODULES:%=%.erl)
199
SOURCE = $(ERL_FILES) $(HRL_FILES)
201
TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR))
203
INETS_SPECS = inets.spec
204
COVER_FILE = inets.cover
205
INETS_FILES = inets.config $(INETS_SPECS)
209
# inets_httpd_suite \
210
# inets_httpc_suite \
214
INETS_DATADIRS = inets_SUITE_data inets_sup_SUITE_data
215
HTTPD_DATADIRS = httpd_test_data httpd_SUITE_data
216
HTTPC_DATADIRS = httpc_SUITE_data
217
FTP_DATADIRS = ftp_SUITE_data
219
DATADIRS = $(INETS_DATADIRS) $(HTTPD_DATADIRS) $(HTTPC_DATADIRS) $(FTP_DATADIRS)
221
EMAKEFILE = Emakefile
222
MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile)
224
ifeq ($(MAKE_EMAKE),)
225
BUILDTARGET = $(TARGET_FILES)
226
RELTEST_FILES = $(COVER_FILE) $(INETS_SPECS) $(SOURCE)
228
BUILDTARGET = emakebuild
229
RELTEST_FILES = $(EMAKEFILE) $(COVER_FILE) $(INETS_SPECS) $(SOURCE)
233
# ----------------------------------------------------
234
# Release directory specification
235
# ----------------------------------------------------
237
RELTESTSYSDIR = $(RELEASE_PATH)/inets_test
238
RELTESTSYSALLDATADIR = $(RELTESTSYSDIR)/all_SUITE_data
239
RELTESTSYSBINDIR = $(RELTESTSYSALLDATADIR)/bin
242
# ----------------------------------------------------
244
# The path to the test_server ebin dir is needed when
245
# running the target "targets".
246
# ----------------------------------------------------
247
ERL_COMPILE_FLAGS += \
248
-pa ../../../internal_tools/test_server/ebin \
253
# ----------------------------------------------------
255
# erl -sname kalle -pa ../ebin
256
# If you intend to run the test suite locally (private), then
257
# there is some requirements:
258
# 1) INETS_PRIV_DIR must be created
259
# ----------------------------------------------------
261
tests debug opt: $(BUILDTARGET)
263
targets: $(TARGET_FILES)
267
emakebuild: $(EMAKEFILE)
270
$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' | grep -v Warning > $(EMAKEFILE)
271
$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) | grep -v Warning >> $(EMAKEFILE)
275
rm -f $(TARGET_FILES)
281
# ----------------------------------------------------
283
# ----------------------------------------------------
284
include $(ERL_TOP)/make/otp_release_targets.mk
287
$(INSTALL_DIR) $(RELSYSDIR)/test
288
$(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) $(RELSYSDIR)/test
289
$(INSTALL_DATA) $(INETS_FILES) $(RELSYSDIR)/test
290
@for d in $(DATADIRS); do \
291
echo "installing data dir $$d"; \
292
if test -f $$d/TAR.exclude; then \
293
echo $$d/TAR.exclude2 > $$d/TAR.exclude2; \
294
cat $$d/TAR.exclude >> $$d/TAR.exclude2; \
295
find $$d -name '*.contrib*' >> $$d/TAR.exclude2; \
296
find $$d -name '*.keep*' >> $$d/TAR.exclude2; \
297
find $$d -name '*.mkelem*' >> $$d/TAR.exclude2; \
298
find $$d -name '*~' >> $$d/TAR.exclude2; \
299
find $$d -name 'erl_crash.dump' >> $$d/TAR.exclude2; \
300
find $$d -name 'core' >> $$d/TAR.exclude2; \
301
find $$d -name '.cmake.state' >> $$d/TAR.exclude2; \
302
tar cfX - $$d/TAR.exclude2 $$d | (cd $(RELSYSDIR)/test; tar xf -); \
304
tar cf - $$d | (cd $(RELSYSDIR)/test; tar xf -); \
308
release_tests_spec: opt
309
$(INSTALL_DIR) $(RELTESTSYSDIR)
310
$(INSTALL_DATA) $(RELTEST_FILES) $(RELTESTSYSDIR)
311
chmod -f -R u+w $(RELTESTSYSDIR)
312
tar chf - $(DATADIRS) | (cd $(RELTESTSYSDIR); tar xf -)
313
$(INSTALL_DIR) $(RELTESTSYSALLDATADIR)
314
$(INSTALL_DIR) $(RELTESTSYSBINDIR)
315
chmod -f -R +x $(RELTESTSYSBINDIR)
316
$(INSTALL_DIR) $(RELTESTSYSALLDATADIR)/win32/lib
321
@echo "MAKE_EMAKE = $(MAKE_EMAKE)"
322
@echo "EMAKEFILE = $(EMAKEFILE)"
323
@echo "BUILDTARGET = $(BUILDTARGET)"
325
@echo "MODULES = $(MODULES)"
326
@echo "ERL_FILES = $(ERL_FILES)"
327
@echo "SOURCE = $(SOURCE)"
328
@echo "TARGET_FILES = $(TARGET_FILES)"
330
@echo "INETS_SPECS = $(INETS_SPECS)"
331
@echo "INETS_FILES = $(INETS_FILES)"
333
@echo "RELEASE_PATH = $(RELEASE_PATH)"
334
@echo "RELSYSDIR = $(RELSYSDIR)"
335
@echo "RELTESTSYSDIR = $(RELTESTSYSDIR)"
336
@echo "RELTESTSYSALLDATADIR = $(RELTESTSYSALLDATADIR)"
337
@echo "RELTESTSYSBINDIR = $(RELTESTSYSBINDIR)"
339
@echo "DATADIRS = $(DATADIRS)"
340
@echo "REL_DATADIRS = $(REL_DATADIRS)"
342
@echo "INETS_DATA_DIR = $(INETS_DATA_DIR)"
343
@echo "INETS_PRIV_DIR = $(INETS_PRIV_DIR)"
344
@echo "INETS_ROOT = $(INETS_ROOT)"
345
@echo "INETS_FLAGS = $(INETS_FLAGS)"
346
@echo "FTP_FLAGS = $(FTP_FLAGS)"
349
erlc $(ERL_COMPILE_FLAGS) tftp_test_lib.erl tftp_SUITE.erl && erl -pa ../../inets/ebin -s tftp_SUITE t -s erlang halt
352
echo "tftp_test_lib:t([{tftp_SUITE, all}])."
353
erlc $(ERL_COMPILE_FLAGS) tftp_test_lib.erl tftp_SUITE.erl && erl -pa ../../inets/ebin