Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  multinit.sh   Sprache: Shell

 
#! /bin/sh  
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

########################################################################
#
# mozilla/security/nss/tests/multinit/multinit.sh
#
# Script to test NSS multinit
#
# needs to work on all Unix and Windows platforms
#
# special strings
# ---------------
#   FIXME ... known problems, search for this string
#   NOTE .... unexpected behavior
#
########################################################################

############################## multinit_init ##############################
# local shell function to initialize this script
########################################################################
multinit_init()
{
  SCRIPTNAME=multinit.sh      # sourced - $0 would point to all.sh

  if [ -z "${CLEANUP}" ] ; then     # if nobody else is responsible for
      CLEANUP="${SCRIPTNAME}"       # cleaning this script will do it
  fi

  if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
      cd ../common
      . ./init.sh
  fi
  if [ ! -r $CERT_LOG_FILE ]; then  # we need certificates here
      cd ../cert
      . ./cert.sh
  fi
  SCRIPTNAME=multinit.sh

  html_head "MULTI Tests"

  grep "SUCCESS: SMIME passed" $CERT_LOG_FILE >/dev/null || {
      Exit 11 "Fatal - S/MIME of cert.sh needs to pass first"
  }

  # set up our directories
  MULTINITDIR=${HOSTDIR}/multinit
  MULTINITDIR_1=${MULTINITDIR}/dir1
  MULTINITDIR_2=${MULTINITDIR}/dir2
  MULTINITDIR_3=${MULTINITDIR}/dir3
  R_MULINITDIR=../multinit
  R_MULTINITDIR_1=${R_MULTINITDIR}/dir1
  R_MULTINITDIR_2=${R_MULTINITDIR}/dir2
  R_MULTINITDIR_3=${R_MULTINITDIR}/dir3
  # first create them all
  mkdir -p ${MULTINITDIR}
  mkdir -p ${MULTINITDIR_1}
  mkdir -p ${MULTINITDIR_2}
  mkdir -p ${MULTINITDIR_3}
  # now copy them fro alice, bob, and dave
  cd ${MULTINITDIR}
  cp ${P_R_ALICEDIR}/* ${MULTINITDIR_1}/
  cp ${P_R_BOBDIR}/*   ${MULTINITDIR_2}/
  cp ${P_R_DAVEDIR}/*  ${MULTINITDIR_3}/
  # finally delete the RootCerts module to keep the certificate noice in the
  # summary lines down
  echo | modutil -delete RootCerts -dbdir ${MULTINITDIR_1}
  echo | modutil -delete RootCerts -dbdir ${MULTINITDIR_2}
  echo | modutil -delete RootCerts -dbdir ${MULTINITDIR_3}
  MULTINIT_TESTS=${QADIR}/multinit/multinit.txt
}


############################## multinit_main ##############################
# local shell function to test basic signed and enveloped messages 
# from 1 --> 2"
########################################################################
multinit_main()
{
  html_head "Multi init interface testing"
  exec < ${MULTINIT_TESTS}
  while read order commands shutdown_type dirs readonly testname
  do
    if [ "$order" != "#" ]; then
 read tag expected_result

 # handle the case where we expect different results based on
 # the database type.
 if [ "$tag" != "all" ]; then
     read tag2 expected_result2
     if [ "$NSS_DEFAULT_DB_TYPE" == "$tag2" ]; then
  expected_result=$expected_result2
     fi
 fi

 # convert shutdown type to option flags
 shutdown_command="";
 if [ "$shutdown_type" == "old" ]; then
    shutdown_command="--oldStype"
 fi

 # convert read only to option flags
 ro_command="";
 case $readonly in
        all)  ro_command="--main_readonly --lib1_readonly --lib2_readonly";;
        libs) ro_command="--lib1_readonly --lib2_readonly";;
        main) ro_command="--main_readonly";;
        lib1) ro_command="--lib1_readonly";;
        lib2) ro_command="--lib2_readonly";;
 none) ;;
 *) ;;
 esac

 # convert commands to option flags
 main_command=`echo $commands | sed -e 's;,.*$;;'`
 lib1_command=`echo $commands | sed -e 's;,.*,;+&+;' -e 's;^.*+,;;' -e 's;,+.*$;;'`
 lib2_command=`echo $commands | sed -e 's;^.*,;;'`

 # convert db's to option flags
 main_db=`echo $dirs | sed -e 's;,.*$;;'`
 lib1_db=`echo $dirs | sed -e 's;,.*,;+&+;' -e 's;^.*+,;;' -e 's;,+.*$;;'`
 lib2_db=`echo $dirs | sed -e 's;^.*,;;'`

 # show us the command we are executing
 echo ${PROFILETOOL} ${BINDIR}/multinit --order $order --main_command $main_command --lib1_command $lib1_command --lib2_command $lib2_command $shutdown_command --main_db $main_db --lib1_db $lib1_db --lib2_db $lib2_db $ro_command --main_token_name "Main" --lib1_token_name "Lib1" --lib2_token_name "Lib2" --verbose --summary 

 # execute the command an collect the result. Most of the user
 # visible output goes to stderr, so it's not captured by the pipe
 actual_result=`${PROFILETOOL} ${BINDIR}/multinit --order $order --main_command $main_command --lib1_command $lib1_command --lib2_command $lib2_command $shutdown_command --main_db $main_db --lib1_db $lib1_db --lib2_db $lib2_db $ro_command --main_token_name "Main" --lib1_token_name "Lib1" --lib2_token_name "Lib2" --verbose --summary | grep "^result=" | sed -e 's;^result=;;'

 # show what we got and what we expected for diagnostic purposes
 echo "actual = |$actual_result|"
 echo "expected = |$expected_result|"
 test  "$actual_result" == "$expected_result" 
 html_msg $? 0 "$testname"
    fi
  done
}
  
############################## multinit_cleanup ###########################
# local shell function to finish this script (no exit since it might be
# sourced)
########################################################################
multinit_cleanup()
{
  html "

"
  cd ${QADIR}
  . common/cleanup.sh
}

################## main #################################################

multinit_init
multinit_main
multinit_cleanup

Messung V0.5
C=68 H=96 G=83

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge
 




Impressum  | Ethik und Gesetz  | Haftungsausschluß  | Kontakt  | Seitenstruktur  | © 2026 JDD |