Hi all,
  I've added a couple of AC_DEFINEs and a couple of #ifdefs to make the
offending tests conditional on the actually-built builtin auth-methods.

Also available at lp:~kinkie/squid/bug2489/

        Kinkie
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: http://www.squid-cache.org/bzr/squid3/trunk/
# testament_sha1: e34086af98bf4847c1ca0585a533ee871092dff0
# timestamp: 2008-10-16 16:40:47 +0200
# source_branch: http://www.squid-cache.org/bzr/squid3/trunk/
# base_revision_id: [EMAIL PROTECTED]
#   jel9y74l9nrva2xu
# 
# Begin patch
=== modified file 'configure.in'
--- configure.in	2008-08-25 13:40:16 +0000
+++ configure.in	2008-10-16 04:19:15 +0000
@@ -1458,6 +1458,12 @@
 AC_SUBST(AUTH_LINKOBJS)
 AC_SUBST(AUTH_OBJS)
 
+dnl bundled auth modules, in order to have handy defines for the cppunit testsuite
+test -n "$AUTH_MODULE_basic" && AC_DEFINE([HAVE_AUTH_MODULE_BASIC],1,[Basic auth module is built])
+test -n "$AUTH_MODULE_digest" && AC_DEFINE([HAVE_AUTH_MODULE_DIGEST],1,[Digest auth module is built])
+test -n "$AUTH_MODULE_ntlm" && AC_DEFINE([HAVE_AUTH_MODULE_NTLM],1,[NTLM auth module is built])
+test -n "$AUTH_MODULE_negotiate" && AC_DEFINE([HAVE_AUTH_MODULE_NEGOTIATE],1,[Negotiate auth module is built])
+
 dnl Select basic auth scheme helpers to build
 if test -n "$AUTH_MODULE_basic"; then
 	BASIC_AUTH_HELPERS="all"

=== modified file 'src/tests/testAuth.cc'
--- src/tests/testAuth.cc	2008-08-10 05:49:14 +0000
+++ src/tests/testAuth.cc	2008-10-16 14:31:46 +0000
@@ -1,7 +1,7 @@
 #define SQUID_UNIT_TEST 1
 
+#include "testAuth.h"
 #include "squid.h"
-#include "testAuth.h"
 #include "authenticate.h"
 #include "AuthUserRequest.h"
 #include "AuthScheme.h"
@@ -11,10 +11,18 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuth );
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthConfig );
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthUserRequest );
+#ifdef HAVE_AUTH_MODULE_BASIC
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthBasicUserRequest );
+#endif
+#ifdef HAVE_AUTH_MODULE_DIGEST
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthDigestUserRequest );
+#endif
+#ifdef HAVE_AUTH_MODULE_NTLM
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthNTLMUserRequest );
+#endif
+#ifdef HAVE_AUTH_MODULE_NEGOTIATE
 CPPUNIT_TEST_SUITE_REGISTRATION( testAuthNegotiateUserRequest );
+#endif
 
 /* Instantiate all auth framework types */
 void
@@ -60,7 +68,8 @@
         AuthScheme *theScheme;
 
         if ((theScheme = AuthScheme::Find(type_str)) == NULL) {
-            fatalf("Unknown authentication scheme '%s'.\n", type_str);
+            return NULL;
+            //fatalf("Unknown authentication scheme '%s'.\n", type_str);
         }
 
         config.push_back(theScheme->createConfig());
@@ -121,8 +130,16 @@
                {"negotiate", negotiate_parms, 1}
              };
 
-    for (unsigned scheme=0; scheme < 4; scheme++)
-        setup_scheme(getConfig(params[scheme].name), params[scheme].params, params[scheme].paramlength);
+    for (unsigned scheme=0; scheme < 4; scheme++) {
+        AuthConfig *schemeConfig;
+        schemeConfig = getConfig(params[scheme].name);
+        if (schemeConfig != NULL)
+            setup_scheme (schemeConfig, params[scheme].params, 
+                params[scheme].paramlength);
+		else
+            fprintf(stderr,"Skipping unknown authentication scheme '%s'.\n", 
+                params[scheme].name);
+    }
 
     authenticateInit(&config);
 
@@ -163,6 +180,7 @@
     }
 }
 
+#ifdef HAVE_AUTH_MODULE_BASIC
 #include "auth/basic/auth_basic.h"
 /* AuthBasicUserRequest::AuthBasicUserRequest works
  */
@@ -186,7 +204,9 @@
     CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username()));
     delete temp;
 }
+#endif /* HAVE_AUTH_MODULE_BASIC */
 
+#ifdef HAVE_AUTH_MODULE_DIGEST
 #include "auth/digest/auth_digest.h"
 /* AuthDigestUserRequest::AuthDigestUserRequest works
  */
@@ -210,7 +230,9 @@
     CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username()));
     delete temp;
 }
+#endif /* HAVE_AUTH_MODULE_DIGEST */
 
+#ifdef HAVE_AUTH_MODULE_NTLM
 #include "auth/ntlm/auth_ntlm.h"
 /* AuthNTLMUserRequest::AuthNTLMUserRequest works
  */
@@ -234,7 +256,9 @@
     CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username()));
     delete temp;
 }
+#endif /* HAVE_AUTH_MODULE_NTLM */
 
+#ifdef HAVE_AUTH_MODULE_NEGOTIATE
 #include "auth/negotiate/auth_negotiate.h"
 /* AuthNegotiateUserRequest::AuthNegotiateUserRequest works
  */
@@ -258,3 +282,5 @@
     CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username()));
     delete temp;
 }
+
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */

=== modified file 'src/tests/testAuth.h'
--- src/tests/testAuth.h	2005-12-18 16:23:39 +0000
+++ src/tests/testAuth.h	2008-10-16 14:31:46 +0000
@@ -3,6 +3,7 @@
 #define SQUID_SRC_TEST_AUTH_H
 
 #include <cppunit/extensions/HelperMacros.h>
+#include "config.h"
 
 /*
  * test the auth Config framework
@@ -45,6 +46,7 @@
     void construction();
 };
 
+#ifdef HAVE_AUTH_MODULE_BASIC
 class testAuthBasicUserRequest : public CPPUNIT_NS::TestFixture
 {
     CPPUNIT_TEST_SUITE( testAuthBasicUserRequest );
@@ -58,7 +60,9 @@
     void construction();
     void username();
 };
+#endif
 
+#ifdef HAVE_AUTH_MODULE_DIGEST
 class testAuthDigestUserRequest : public CPPUNIT_NS::TestFixture
 {
     CPPUNIT_TEST_SUITE( testAuthDigestUserRequest );
@@ -72,7 +76,9 @@
     void construction();
     void username();
 };
+#endif
 
+#ifdef HAVE_AUTH_MODULE_NTLM
 class testAuthNTLMUserRequest : public CPPUNIT_NS::TestFixture
 {
     CPPUNIT_TEST_SUITE( testAuthNTLMUserRequest );
@@ -86,7 +92,9 @@
     void construction();
     void username();
 };
+#endif
 
+#ifdef HAVE_AUTH_MODULE_NEGOTIATE
 class testAuthNegotiateUserRequest : public CPPUNIT_NS::TestFixture
 {
     CPPUNIT_TEST_SUITE( testAuthNegotiateUserRequest );
@@ -100,6 +108,7 @@
     void construction();
     void username();
 };
+#endif
 
 #endif
 

# Begin bundle
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
zKA=

Reply via email to