Alex Rousskov [Mon, 9 Mar 2009 16:20:57 +0000 (10:20 -0600)]
Support multiple test spec arguments. If at least one test fails, the script
exits with a non-zero code (but posibly not immediately, see --keep-going).
Each test spec is a test config file name or a well-known config name (no path
or extension!). If no specs are given, all known test specs are used (as
before). The same happens if the only test spec given is 'all'. The
following are now equivalent:
./test-builds.sh
./test-builds.sh all
./test-builds.sh btlayer-00-default btlayer-01-minimal btlayer-02-maximus
./test-builds.sh test-suite/buildtests/layer-*
You can mix file names and spec names, but not the 'all' macro: There is
currently no support for using 'all' together with other test cases.
Tolerate individual test errors if --keep-going is specified. This helps when
one wants to find more errors than just the first one, especially when tests
are long and are running without a human watching.
When detecting test failures, rely on test-suite/buildtest.sh exit status code
rather than on the presence of error-like strings in the log file.
Alex Rousskov [Sun, 8 Mar 2009 18:41:06 +0000 (12:41 -0600)]
Fixed subdir handling when USE_LOADABLE_MODULES is false. DIST_SUBDIRS was
defined incorrectly. Moreover, we do not need to define DIST_SUBDIRS because
the default works:
"If `SUBDIRS' is defined conditionally using Automake conditionals,
Automake will define `DIST_SUBDIRS' automatically from the possibles
values of `SUBDIRS' in all conditions."
The bug was exposed by ./test-builds.sh layer-01-minimal with "make distcheck"
test added.
Amos Jeffries [Sun, 8 Mar 2009 10:57:37 +0000 (23:57 +1300)]
Bug 2613: test-builds.sh does not test what it claims to test
* Add report from worker level of testbed to show test being run
* Alter test config path on case where ../ is added to tester location
* rename dist variable to correct config (its the config file path)
* remove some no longer relevant bashism
Amos Jeffries [Fri, 6 Mar 2009 07:36:36 +0000 (20:36 +1300)]
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 2608: Build broken by Linux basename() implementation.
This patch implements a replacement for the call to basename() in
debugs().
It involves a hard-coded relative test location for debugs.cc used as an
anchor within the __FILE__ path. This relative path MUST be updated
whenever debugs.cc is moved.
debugs() is no longer valid to be used within auto-generated files which
may retain a completely different relative base path.
Amos Jeffries [Tue, 3 Mar 2009 13:02:21 +0000 (02:02 +1300)]
Experimental Solaris 10 pthreads Support
Why is it going in since its experimental?
- we need a snapshot to test the configure code with.
- side testing indicates this new option is best and does work under
some conditions with only Solaris native compiler to build with.
Amos Jeffries [Sat, 28 Feb 2009 13:38:11 +0000 (02:38 +1300)]
TestBed: Alter translation to work in more make targets
This makes translation work in distcheck, uninstallcheck, and installcheck
out-of-tree testing. Not just dist, all, and check.
Also adds some clean failure for out-of-tree 'make all' translations.
Automake seems to not have enough correct path info to perform translation
when its run inside distcheck target.
Re-add distcheck to Testbed requirements.
TODO: verify through build slaves that its portable.
Alex Rousskov [Fri, 27 Feb 2009 15:45:17 +0000 (08:45 -0700)]
SourceLayout: src/auth, take 0: Moved src/AuthFoo* to src/auth/Foo*, polished.
SourceLayout: src/fs, take 0: Polished Makefiles.
These fixes should have no runtime effects and were triggered by an attempt to
make "make distclean" work. TODO: add Auth and Fs namespaces, rename classes.
Alex Rousskov [Fri, 27 Feb 2009 04:58:29 +0000 (21:58 -0700)]
Add a dummy file called testHeaders to CLEANFILES.
It is created by testheaders.sh and distclean does not know about it.
The change can be reversed when testheaders.sh and its users are fixed.
Amos Jeffries [Thu, 26 Feb 2009 03:58:09 +0000 (16:58 +1300)]
TestBed: correct log handling.
Removal of the log MUST happen after the log has been checked for a
successful run. Removal of run data MAY hapen before this.
Probably data SHOULD be removed early to prevent excess data between runs.
Alex Rousskov [Wed, 25 Feb 2009 20:35:16 +0000 (13:35 -0700)]
SourceLayout: src/fs, take 0
Simplified and documented STORE_* autotools variables.
All fs code is built as fs/lib*.a libraries now, no exception for
diskd and aufs "fake" legacy modules.
fs/* sources are no longer added to executables directly.
TODO: Add Makefiles to specific fs modules.
TODO: Add Fs namespace and rename fs classes accordingly.
testHeaders in fs/Makefile.am requires absolute source directories for
out-of-tree checks to work.
Removed src/ip/stubQosConfig.cc from STORE_TEST_SOURCES. It does not seem to
be needed in my tests. If it is needed, the stub file should be moved into
src/tests to avoid dependency on a source in a directory with a Makefile. If
the stub is not needed at all, it should be removed from the tree. Note that
src/ip/stubQosConfig.cc is non-empty only when --enable-zph-qos.
These changes were triggered by an attempt to make "make distclean" work.
Amos Jeffries [Mon, 23 Feb 2009 11:05:52 +0000 (00:05 +1300)]
Author: frencesco chemolli <kinkie@squid-cache.org>
testBed: add parallel make capability to build testing
This small patch to the test-suite system allows for parallel-make in
the test-suite (only on Linux). This will allow for shorter build-test
times on multicpu/multicore systems.
Amos Jeffries [Mon, 23 Feb 2009 09:41:36 +0000 (22:41 +1300)]
Author: Mark Nottingham <mnot@pobox.com>
Bug 2599: Idempotent start
As discussed on squid-dev, Squid shouldn't return a shell error when:
- starting squid, if it's already running
- stopping squid, if it isn't running
This is to make writing scripts that control squid easier.
Note that it should still notify the user, and should not affect other
operations (e.g., kill, rotate, parse).
Alex Rousskov [Fri, 20 Feb 2009 18:48:56 +0000 (11:48 -0700)]
Added CBDATA_NAMESPACED_CLASS_INIT to define static members of classes that
live in a namespace.
The alternative was to change CBDATA_CLASS_* macros so that the static member
name does not depend on the type. That may have been better, but perhaps there
are some, unknown to me, low-level reasons why unique member names are
required for class cbdata code to work.
Alex Rousskov [Thu, 19 Feb 2009 22:35:50 +0000 (15:35 -0700)]
Moved src/ICAP into src/adaptation/icap.
Moved src/eCAP into src/adaptation/ecap.
As a side effect, eCAP now tests its headers. MessageRep.h needed to include
config.h to pass the tests, which probably indicates a bug in some other
header (possibly enums.h).
Alex Rousskov [Thu, 19 Feb 2009 20:28:48 +0000 (13:28 -0700)]
Fixed default -I options: there are no headers in $(top_builddir)/lib/ but
there is autoconf.h in $(top_builddir)/include/
Fixed hard-coded OBJS dependencies: autoconf.h is in $(top_builddir)/include/
The bug apparently did not bother anyobody too much, adding to my suspicion
that we do not really need these hard-coded OBJS dependencies.
Alex Rousskov [Thu, 19 Feb 2009 19:00:01 +0000 (12:00 -0700)]
SourceLayout: src/base, take 0 with tweaks
Added src/base directory for fundamental, commonly-used code pieces that are
not large enough to warrant their own directories. Currently base/ contains
the beginning of AsyncCalls hierarchy, which may eventually get its own
directory.
Removed src/ip from the top-level SUBDIRS list. Made cf_gen compile without
libip.
Started building makefile includes, to be used in subdir makefiles:
src/Common.am and src/TestHeaders.am.
Alex Rousskov [Thu, 19 Feb 2009 18:19:37 +0000 (11:19 -0700)]
Moved header testing from Common.am to TestHeaders.am. Not all makefiles
using Common.am will use a standardized header test, at least for now.
We have makefiles that test headers in subdirectories, for example.