浏览代码

Merge branch 'feature-new-tests' into release-0.7.0

Bertrand Gouny 11 年之前
父节点
当前提交
b98fb70cd4

+ 7 - 48
test.sh

@@ -2,55 +2,14 @@
 
 # Usage
 # sudo ./test.sh 
-# add -v for verbose mode
+# add -v for verbose mode (or type whatever you like !) :p
 
-verbose=$1
-error=0
-ok=0
+. test/tools/run.sh
 
-echo_start () {
-  echo "------- Start $* test -------"
-}
+run_test tools/build-container.sh "Successfully built"
+run_test simple.sh "dn: dc=example,dc=com"
+run_test tls.sh "dn: dc=example,dc=com"
+run_test db.sh "dn: dc=otherdomain,dc=com"
 
-echo_error () {
-  echo "\n$(tput setaf 1)/!\ $* failed$(tput sgr0)\n"
-  error=`expr $error + 1`
-}
-
-echo_ok () {
-  echo "\n--> $* ok\n"
-  ok=`expr $ok + 1`
-}
-
-run_test () {
-  fction=$1
-  out=test/test.out
-
-  echo_start $fction
-
-  if [ -z ${verbose} ]; then
-    ./test/$1.sh > $out 2>&1
-  else
-    ./test/$1.sh | tee $out 2>&1
-  fi
-  
-  if [ "$(grep -c "$2" $out)" -eq 0 ]; then
-    echo_error $fction
-  else
-    echo_ok  $fction
-  fi
-
-  rm $out
-}
-
-
-./test/tools/prepare.sh > /dev/null 2>&1
-run_test build "Successfully built"
-run_test simple "dn: dc=example,dc=com"
-run_test tls "dn: dc=example,dc=com"
-run_test db "dn: dc=otherdomain,dc=com"
-./test/tools/end.sh > /dev/null 2>&1
-
-echo "------- Test finished -------"
-echo $error " failed " $ok " passed"
+. test/tools/end.sh
 

+ 0 - 8
test/build.sh

@@ -1,8 +0,0 @@
-#!/bin/sh
-
-dir=$(dirname $0)
-. $dir/tools/config.prop
-
-docker.io build -t $openldapTestImage .
-#docker.io build --no-cache=true -t $openldapTestImage .
-

+ 10 - 10
test/db.sh

@@ -3,22 +3,22 @@
 dir=$(dirname $0)
 . $dir/tools/config.prop
 
-if [ -d "$openldapTestDir" ]; then
-  rm -r $openldapTestDir
+if [ -d "$testDir" ]; then
+  rm -r $testDir
 fi
 
-mkdir $openldapTestDir
-mkdir $openldapTestDir/db
-mkdir $openldapTestDir/config
+mkdir $testDir
+mkdir $testDir/db
+mkdir $testDir/config
 
-runOptions="-e LDAP_DOMAIN=otherdomain.com -v $openldapTestDir/db:/var/lib/ldap -v $openldapTestDir/config:/etc/ldap/slapd.d"
-. $dir/tools/run-simple.sh
+runOptions="-e LDAP_DOMAIN=otherdomain.com -v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
+. $dir/tools/run-container.sh
 $dir/tools/delete-container.sh
 
-runOptions="-v $openldapTestDir/db:/var/lib/ldap -v $openldapTestDir/config:/etc/ldap/slapd.d"
-. $dir/tools/run-simple.sh
+runOptions="-v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
+. $dir/tools/run-container.sh
 echo "ldapsearch -x -h $IP -b dc=otherdomain,dc=com"
 ldapsearch -x -h $IP -b dc=otherdomain,dc=com
 
-rm -r $openldapTestDir
+rm -r $testDir
 $dir/tools/delete-container.sh

+ 1 - 1
test/simple.sh

@@ -3,7 +3,7 @@
 dir=$(dirname $0)
 . $dir/tools/config.prop
 
-. $dir/tools/run-simple.sh
+. $dir/tools/run-container.sh
 echo "ldapsearch -x -h $IP -b dc=example,dc=com"
 ldapsearch -x -h $IP -b dc=example,dc=com
 

+ 2 - 2
test/tls.sh

@@ -3,8 +3,8 @@
 dir=$(dirname $0)
 . $dir/tools/config.prop
 
-. $dir/tools/run-tls.sh
+. $dir/tls/run.sh
 echo "ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ"
 ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ
 
-. $dir/tools/end-tls.sh
+. $dir/tls/end.sh

+ 0 - 0
test/tools/end-tls.sh → test/tls/end.sh


+ 3 - 3
test/tools/run-tls.sh → test/tls/run.sh

@@ -1,10 +1,10 @@
 #!/bin/sh
 
 
-runOptions="--dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl"
-. $dir/tools/run-simple.sh
+runOptions="--dns=127.0.0.1 -v `pwd`/test/tls/ssl:/etc/ldap/ssl"
+. $dir/tools/run-container.sh
 
-cert=$(echo $dir/ssl/ldap.crt)
+cert=$(echo $dir/tls/ssl/ldap.crt)
 certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
 addLine=$(echo $IP $certCN)
 

+ 7 - 0
test/tools/build-container.sh

@@ -0,0 +1,7 @@
+#!/bin/sh
+
+. $(dirname $0)/config.prop
+
+docker.io build -t $testImage .
+#docker.io build --no-cache=true -t $testImage .
+

+ 3 - 3
test/tools/config.prop

@@ -1,3 +1,3 @@
-openldapTestImage=openldap-test
-openldapTestContainer=openldap-test-container
-openldapTestDir=/osixia-test-docker-openldap
+testImage=openldap-test
+testContainer=openldap-test-container
+testDir=/osixia-test-docker-openldap

+ 4 - 4
test/tools/delete-container.sh

@@ -2,10 +2,10 @@
 
 . $(dirname $0)/config.prop
 
-# remove openldap test container
-res=$(docker.io ps -a | grep -c "$openldapTestContainer")
+# remove test container
+res=$(docker.io ps -a | grep -c "$testContainer")
 
 if [ $res -ne 0 ]; then
-  docker.io stop $openldapTestContainer
-  docker.io rm $openldapTestContainer
+  docker.io stop $testContainer
+  docker.io rm $testContainer
 fi

+ 3 - 3
test/tools/delete-image.sh

@@ -2,9 +2,9 @@
 
 . $(dirname $0)/config.prop
 
-# remove openldap test image
-res=$(docker.io images | grep -c "$openldapTestImage")
+# remove test image
+res=$(docker.io images | grep -c "$testImage")
 
 if [ $res -ne 0 ]; then
-  docker.io rmi $openldapTestImage
+  #docker.io rmi $testImage
 fi

+ 5 - 2
test/tools/end.sh

@@ -1,5 +1,8 @@
 #!/bin/sh
 
 dir=$(dirname $0)
-$dir/delete-container.sh
-$dir/delete-image.sh
+$dir/delete-container.sh > /dev/null 2>&1
+$dir/delete-image.sh > /dev/null 2>&1
+
+echo "------- End -------"
+echo $error " failed " $ok " succeeded"

+ 14 - 0
test/tools/run-container.sh

@@ -0,0 +1,14 @@
+#!/bin/sh
+
+echo "docker.io run --name $testContainer $runOptions -d $testImage"
+ID=`docker.io run --name $testContainer $runOptions -d $testImage`
+sleep 7
+
+echo " --> Obtaining IP"
+IP=`docker inspect -f "{{ .NetworkSettings.IPAddress }}" $ID`
+if [ "$IP" = "" ]; then
+	abort "Unable to obtain container IP"
+	exit 1
+else
+  echo " -->" $IP
+fi

+ 0 - 14
test/tools/run-simple.sh

@@ -1,14 +0,0 @@
-#!/bin/sh
-
-echo "docker.io run --name $openldapTestContainer $runOptions -d $openldapTestImage"
-ID=`docker.io run --name $openldapTestContainer $runOptions -d $openldapTestImage`
-sleep 5
-
-echo " --> Obtaining IP"
-IP=`docker inspect $ID | grep IPAddress | sed -e 's/.*: "//; s/".*//'`
-if [ "$IP" = "" ]; then
-	abort "Unable to obtain container IP"
-	exit 1
-else
-  echo " -->" $IP
-fi

+ 46 - 0
test/tools/run.sh

@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# Usage
+# sudo ./test.sh 
+# add -v for verbose mode (or type whatever you like !) :p
+
+verbose=$1
+error=0
+ok=0
+
+echo_start () {
+  echo "------- Test: $* -------"
+}
+
+echo_error () {
+  echo "\n$(tput setaf 1)/!\ $* failed$(tput sgr0)\n"
+  error=`expr $error + 1`
+}
+
+echo_ok () {
+  echo "\n--> $* ok\n"
+  ok=`expr $ok + 1`
+}
+
+run_test () {
+  test=$1
+  out=test/test.out
+
+  echo_start $test
+
+  if [ -z ${verbose} ]; then
+    ./test/$test > $out 2>&1
+  else
+    ./test/$test | tee $out 2>&1
+  fi
+  
+  if [ "$(grep -c "$2" $out)" -eq 0 ]; then
+    echo_error $test
+  else
+    echo_ok  $test
+  fi
+
+  rm $out
+}
+
+./test/tools/prepare.sh > /dev/null 2>&1