Re: [MERGE] Fixes to configure.in and build-test layer-01

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Sun, 24 Aug 2008 01:04:01 +1200

Kinkie wrote:
> On Sat, Aug 23, 2008 at 4:54 AM, Amos Jeffries <squid3_at_treenet.co.nz> wrote:
>> Kinkie wrote:
>>> While doing some build-testing I've noticed that configure doesn't handle
>>> gracefully some malformed --with(out) arguments.
>>>
>>> This patch addresses three related issues:
>>> - makes the error messages for those cases more informative
>>> - changes some (echo + exit) sequences into AC_MSG_ERROR() standard
>>> autoconf macros
>>> - changes the layer-01 test options so that it doesn't invoke invalid
>>> configure options
>> Great. Thank you for catching this.
>>
>> I'm just thinking we should add graceful handling of --without-default-user
>> with these changes.
>
> That's trickier. While unusual, "no" is a valid username.. Should we
> second-guess our users?
>
>>> Note that build-test layer-01, now that it actually builds, fails for me
>>> on Gentoo Linux on x86 with an error
>>>
>>> testIPAddress.cc:597:Assertion
>>> Test name: testIPAddress::testAddrInfo
>>> equality assertion failed
>>> - Expected: 2
>>> - Actual : 10
>>>
>>> I expect this to be triggered by some ipv6-related option (or combination
>>> of options) set in configure by layer-01.
>>> This patch does NOT address that issue.
>> Nope, that is showing a genuine fault building on your Gentoo.
>> Layer 01 should be equivalent there to any IPv4-only build.
>>
>> We will have to track down which bits of addrinfo are not being set properly
>> by squid. It's usually turned out to be the flow option defaults or ABI
>> differences.
>
> Great...
>
> I have -ipv6 set in my make.conf, indeed.

Um, not sure what your doing then. The layer-NN tests should be
configured and building independently of any other local configuration.

./configure'ing then running the tests will wipe your local config
(./configure is being tested).

> What can I do to help spot the problem?
>

When the failing layer build has stopped, locate the failed test in the
appropriate test log.

The test should also leave a cppunit binary at .../lib/testIPAddress
which can be run manually to see the test fail again, or under a
debugger to trace the actual unit-test and find out what the object
binary details (ABI) are being played with.

The unit-test function/method plays with two addrinfo objects, one
pulled from a system getaddrinfo() and another generate by
IPAddress.GetAddrInfo() from the same address. To pass the test they
must match certain field values. The fix will come from finding whats
different and why.

Amos

-- 
Please use Squid 2.7.STABLE4 or 3.0.STABLE8
Received on Sat Aug 23 2008 - 13:04:04 MDT

This archive was generated by hypermail 2.2.0 : Sat Aug 23 2008 - 12:00:06 MDT