summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Goulish <mgoulish@apache.org>2010-10-28 04:39:43 +0000
committerMichael Goulish <mgoulish@apache.org>2010-10-28 04:39:43 +0000
commit0ee07d00231258d5bbf8a2102b84de5c91354c68 (patch)
treec8f98ad37d671185bcc81f3a6e8c8e0b086147d5
parentb533d8a6143e91ddded8c80816b1f908e0d171ab (diff)
downloadqpid-python-0ee07d00231258d5bbf8a2102b84de5c91354c68.tar.gz
Add a small executable that prints out the sasl version number in integer form.
Use it in the sasl_fed test to determine whether that test can run. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028180 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/src/tests/sasl.mk5
-rwxr-xr-xcpp/src/tests/sasl_fed15
-rw-r--r--cpp/src/tests/sasl_version.cpp48
3 files changed, 65 insertions, 3 deletions
diff --git a/cpp/src/tests/sasl.mk b/cpp/src/tests/sasl.mk
index 24f8dfef35..334a4b9c81 100644
--- a/cpp/src/tests/sasl.mk
+++ b/cpp/src/tests/sasl.mk
@@ -25,6 +25,11 @@ cluster_authentication_soak_INCLUDES=$(PUBLIC_INCLUDES)
cluster_authentication_soak_SOURCES=cluster_authentication_soak.cpp ForkedBroker.h ForkedBroker.cpp
cluster_authentication_soak_LDADD=$(lib_client) $(lib_broker)
+# Note: sasl_version is not a test -- it is a tool used by tests.
+check_PROGRAMS+=sasl_version
+sasl_version_SOURCES=sasl_version.cpp
+sasl_version_LDADD=$(lib_client)
+
TESTS += run_cluster_authentication_test sasl_fed
LONG_TESTS += run_cluster_authentication_soak
EXTRA_DIST += run_cluster_authentication_test sasl_fed run_cluster_authentication_soak
diff --git a/cpp/src/tests/sasl_fed b/cpp/src/tests/sasl_fed
index b57c57f89a..e65adae171 100755
--- a/cpp/src/tests/sasl_fed
+++ b/cpp/src/tests/sasl_fed
@@ -19,11 +19,20 @@
# under the License.
#
-# disable this test for all sasl verisons temporarily until TODO, below, is completed.
-exit 0
-
source test_env.sh
+# This minimum value corresponds to sasl version 2.1.22
+minimum_sasl_version=131350
+
+sasl_version=`$QPID_TEST_EXEC_DIR/sasl_version`
+
+# This test is necessary becasue this sasl version is the first one that permits
+# redirection of the sasl config file path.
+if [ "$sasl_version" -lt "$minimum_sasl_version" ]; then
+ echo "sasl_fed: must have sasl version 2.1.22 or greater. Version is: $sasl_version"
+ exit 0
+fi
+
sasl_config_file=$builddir/sasl_config
my_random_number=$RANDOM
diff --git a/cpp/src/tests/sasl_version.cpp b/cpp/src/tests/sasl_version.cpp
new file mode 100644
index 0000000000..db3efe4181
--- /dev/null
+++ b/cpp/src/tests/sasl_version.cpp
@@ -0,0 +1,48 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+#include <iostream>
+
+#include "sasl/sasl.h"
+
+
+/*
+ Some tests need to distinguish between different versions of
+ SASL. This encodes and outputs the version number as an integer
+ for easy use in testing scripts.
+*/
+
+int
+main ( )
+{
+ // I assume that these are 8-bit quantities....
+ int sasl_version = (SASL_VERSION_MAJOR << 16) +
+ (SASL_VERSION_MINOR << 8) +
+ SASL_VERSION_STEP;
+
+ std::cout << sasl_version << std::endl;
+
+ return 0;
+}
+
+
+
+