1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00
samba-mirror/Makefile
Tim Beale 96472306bf selftest: Add basic sanity-check tests for nopython target
Previously we were only checking samba compiled OK with
--disable-python, not that it actually ran.

The main problem is all the make test framework is based around
subunit/smbtorture, neither of which we seem to build with
disable-python. However, for just a simple sanity-check, we can just
bypass all the subunit-filter work and just call the Perl code directly.
This works OK as long as it's just simple shell script tests that we're
running, as we can check the script's exit code directly.

The main thing that we really want to test is that we can start up the
smbd testenv and connect to it (i.e. a simple smbclient test).

This patch adds a new 'make test-nopython' target. This disables the
subunit filtering, and runs a small test-list that was generated manually.

Note that currently this has the limitation that it doesn't support known
failures or flapping tests. However, just checking that smd starts up OK
is probably OK for now.

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Feb 20 02:10:00 CET 2019 on sn-devel-144
2019-02-20 02:10:00 +01:00

124 lines
2.4 KiB
Makefile

# simple makefile wrapper to run waf
WAF_BINARY=$(PYTHON) ./buildtools/bin/waf
WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
all:
$(WAF) build
install:
$(WAF) install
uninstall:
$(WAF) uninstall
test:
$(WAF) test $(TEST_OPTIONS)
perftest:
$(WAF) test --perf-test $(TEST_OPTIONS)
help:
@echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
$(WAF) --help
subunit-test:
$(WAF) test --filtered-subunit $(TEST_OPTIONS)
testenv:
$(WAF) test --testenv $(TEST_OPTIONS)
gdbtestenv:
$(WAF) test --testenv --gdbtest $(TEST_OPTIONS)
quicktest:
$(WAF) test --quick $(TEST_OPTIONS)
randomized-test:
$(WAF) test --random-order $(TEST_OPTIONS)
testlist:
$(WAF) test --list $(TEST_OPTIONS)
test-nopython:
$(WAF) test --no-subunit-filter --test-list=selftest/no-python-tests.txt $(TEST_OPTIONS)
dist:
touch .tmplock
WAFLOCK=.tmplock $(WAF) dist
distcheck:
touch .tmplock
WAFLOCK=.tmplock $(WAF) distcheck
clean:
$(WAF) clean
distclean:
$(WAF) distclean
reconfigure: configure
$(WAF) reconfigure
show_waf_options:
$(WAF) --help
# some compatibility make targets
everything: all
testsuite: all
check: test
torture: all
# this should do an install as well, once install is finished
installcheck: test
etags:
$(WAF) etags
ctags:
$(WAF) ctags
pydoctor:
$(WAF) pydoctor
pep8:
$(WAF) pep8
# Adding force on the depencies will force the target to be always rebuild form the Make
# point of view forcing make to invoke waf
bin/smbd: FORCE
$(WAF) --targets=smbd/smbd
bin/winbindd: FORCE
$(WAF) --targets=winbindd/winbindd
bin/nmbd: FORCE
$(WAF) --targets=nmbd/nmbd
bin/smbclient: FORCE
$(WAF) --targets=client/smbclient
# this allows for things like "make bin/smbtorture"
# mainly for the binary that don't have a broken mode like smbd that must
# be build with smbd/smbd
bin/%: FORCE
$(WAF) --targets=$(subst bin/,,$@)
# Catch all rule to be able to call make service_repl in order to find the name
# of the submodule you want to build, look at the wscript
%:
$(WAF) --targets=$@
# This rule has to be the last one
FORCE:
# Having .NOTPARALLEL will force make to do target once at a time but still -j
# will be present in the MAKEFLAGS that are in turn interpreted by WAF
# so only 1 waf at a time will be called but it will still be able to do parralel builds if
# instructed to do so
.NOTPARALLEL: %
.PHONY: FORCE everything testsuite check torture