Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/security/nss/tests/remote/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 7 kB image not shown  

Quelle  Makefile   Sprache: JAVA

 
#! gmake
#
# 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/.

#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY).   #
#######################################################################

include manifest.mn

#######################################################################
# (2) Include "global" configuration information. (OPTIONAL)          #
#######################################################################

include $(CORE_DEPTH)/coreconf/config.mk

#######################################################################
# (3) Include "component" configuration information. (OPTIONAL)       #
#######################################################################



#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL).      #
#######################################################################



#######################################################################
# (5) Execute "global" rules. (OPTIONAL)                              #
#######################################################################

include $(CORE_DEPTH)/coreconf/rules.mk

#######################################################################
# (6) Execute "component" rules. (OPTIONAL)                           #
#######################################################################



#######################################################################
# (7) Execute "local" rules. (OPTIONAL).                              #
#######################################################################

TESTPACKAGE="nss-$(OS_TARGET)$(CPU_TAG).tgz"
RTSH=$(DIST)/../../runtests.sh
PCFG=$(DIST)/platform.cfg


#Hint: In order to test the Makefiles without running the tests, use:
#      make NSS_CYCLES="standard" NSS_TESTS="dummy"

ifeq ($(OS_TARGET),Android)
TEST_SHELL?=$$HOME/bin/sh
ANDROID_PORT?="2222"
#Define the subset of tests that is known to work on Android
NSS_CYCLES?="standard pkix sharedb"
NSS_TESTS?="cipher lowhash libpkix cert dbtests tools sdr crmf smime ssl ocsp merge pkits chains"
NSS_SSL_TESTS?="crl normal_normal iopr"
NSS_SSL_RUN?="cov auth stress"
else
TEST_SHELL?="/bin/sh"
endif

# Create a package for test execution on a separate system.
package_for_testing:
 echo "export OBJDIR=$(OBJDIR_NAME)"     > $(PCFG)
 echo "export OS_ARCH=$(OS_ARCH)"       >> $(PCFG)
 echo "export OS_TARGET=$(OS_TARGET)"   >> $(PCFG)
 echo "export DLL_PREFIX=$(DLL_PREFIX)" >> $(PCFG)
 echo "export DLL_SUFFIX=$(DLL_SUFFIX)" >> $(PCFG)
 echo 'echo "set HOST and DOMSUF if your system is not registered in DNS"' > $(RTSH)
 cat $(PCFG)                                  >> $(RTSH)
 echo 'export NSS_TESTS=$(NSS_TESTS)'         >> $(RTSH)
 echo 'export NSS_SSL_TESTS=$(NSS_SSL_TESTS)' >> $(RTSH)
 echo 'export NSS_SSL_RUN=$(NSS_SSL_RUN)'     >> $(RTSH)
 echo 'export NSS_CYCLES=$(NSS_CYCLES)'       >> $(RTSH)
 echo 'export USE_64=$(USE_64)'               >> $(RTSH)
 echo 'export BUILD_OPT=$(BUILD_OPT)'         >> $(RTSH)
 echo 'export PKITS_DATA=$(PKITS_DATA)'       >> $(RTSH)
 echo 'export NSPR_LOG_MODULES=$(NSPR_LOG_MODULES)'                   >> $(RTSH)
ifeq ($(OS_TARGET),Android)
 # Android doesn't support FIPS tests, because
 # dladdr does not return a full path for implicitly loaded libraries
 echo "export NSS_TEST_DISABLE_FIPS=1" >> $(DIST)/platform.cfg
endif
ifeq ($(CROSS_COMPILE),1)
# execute signing on test system
 echo 'export DIST=$${HOME}/nsstest/dist/'           >> $(RTSH)
 echo 'export NSPR_LIB_DIR=$${DIST}/$${OBJDIR}/lib/' >> $(RTSH)
 echo 'echo "signing"'                               >> $(RTSH)
# work around a bug in Android ash that has a corrupted work directory after login
 echo 'cd $${HOME}/nsstest'                          >> $(RTSH)
 echo 'cd nss/cmd/shlibsign'                         >> $(RTSH)
 echo '$(TEST_SHELL) ./sign.sh $${DIST}/$${OBJDIR}/ $${DIST}/$${OBJDIR}/bin $${OS_TARGET} $${NSPR_LIB_DIR} $${NSPR_LIB_DIR}$${DLL_PREFIX}freebl3.$${DLL_SUFFIX}'  >> $(RTSH)
 echo '$(TEST_SHELL) ./sign.sh $${DIST}/$${OBJDIR}/ $${DIST}/$${OBJDIR}/bin $${OS_TARGET} $${NSPR_LIB_DIR} $${NSPR_LIB_DIR}$${DLL_PREFIX}softokn3.$${DLL_SUFFIX}' >> $(RTSH)
 echo '$(TEST_SHELL) ./sign.sh $${DIST}/$${OBJDIR}/ $${DIST}/$${OBJDIR}/bin $${OS_TARGET} $${NSPR_LIB_DIR} $${NSPR_LIB_DIR}$${DLL_PREFIX}nssdbm3.$${DLL_SUFFIX}'  >> $(RTSH)
ifneq ($(OS_TARGET),Android)
# Android's ash doesn't support "export -n" yet
 echo 'export -n DIST'                          >> $(RTSH)
 echo 'export -n NSPR_LIB_DIR'                  >> $(RTSH)
endif
 echo 'cd ../../../'                            >> $(RTSH)
endif
 echo 'rm -rf tests_results'                    >> $(RTSH)
 echo 'echo "running tests"'                    >> $(RTSH)
 echo 'cd nss/tests'                            >> $(RTSH)
 # We require progress indication on stdout while running the tests (to avoid timeouts).
 set -o pipefail
 echo '$(TEST_SHELL) ./all.sh | tee ../../logfile 2>&1 |grep ": #"'          >> $(RTSH)
 RETVAL=$?
 echo 'cd ../../'                               >> $(RTSH)
 # dump test summary from end of logfile
 echo 'echo "=========="; tail -100 logfile'    >> $(RTSH)
 echo 'tar czf tests_results.tgz tests_results'                              >> $(RTSH)
 echo 'echo "created tests_results.tgz"'                                     >> $(RTSH)
 echo 'echo "results are in directory: "`ls -1d tests_results/security/*.1`' >> $(RTSH)
 echo 'echo exit status: $${RETVAL}'                                         >> $(RTSH)
 echo 'exit $${RETVAL}'                                                      >> $(RTSH)
 rm -f $(TESTPACKAGE)
 (cd $(DIST)/../.. ; tar czhf dist/$(TESTPACKAGE) runtests.sh dist/$(OBJDIR_NAME) dist/public nss/tests nss/cmd/bltest/tests nss/cmd/pk11gcmtest/tests nss/cmd/shlibsign; echo "created "`pwd`"/dist/$(TESTPACKAGE)" )

android_run_tests:
 ssh -p $(ANDROID_PORT) -o CheckHostIP=no $(ANDROID_ADDR)  'pwd; cd; pwd; cd nsstest; export PATH=$$HOME/bin:$$PATH ; $(TEST_SHELL) runtests.sh'

android_install:
 rm -f $(DIST)/android.sftp
 echo '-mkdir nsstest' > $(DIST)/android.sftp
 echo '-rm nsstest/$(TESTPACKAGE)' >> $(DIST)/android.sftp
 echo 'progress' >> $(DIST)/android.sftp
 echo 'put $(DIST)/../$(TESTPACKAGE) nsstest' >> $(DIST)/android.sftp
 sftp -o Port=$(ANDROID_PORT) -o CheckHostIP=no -b $(DIST)/android.sftp $(ANDROID_ADDR)
 ssh -p $(ANDROID_PORT) -o CheckHostIP=no $(ANDROID_ADDR)  'cd nsstest ; $$HOME/bin/rm -rf logfile runtests.sh dist security tests_results tests_results.tgz;  $$HOME/bin/tar xzf $(TESTPACKAGE)'

WORKDIR="$(DIST)/../../"
RESULTSPACKAGE=tests_results.tgz
android_get_result:
 rm -f $(WORKDIR)/result.sftp $(WORKDIR)/$(RESULTSPACKAGE)
 echo "progress" > $(WORKDIR)/result.sftp
 echo 'get nsstest/$(RESULTSPACKAGE) $(WORKDIR)' >> $(WORKDIR)/result.sftp
 sftp -o Port=$(ANDROID_PORT) -o CheckHostIP=no -b $(WORKDIR)/result.sftp $(ANDROID_ADDR
 (cd $(WORKDIR); tar xzf $(RESULTSPACKAGE); rm -f result.sftp $(RESULTSPACKAGE) )

# Android testing assumes having built with: OS_TARGET=Android CROSS_COMPILE=1
# Connectivity tested with Android app: SSHDroid
# Provide appropriate ANDROID_ADDR variable, e.g.:
#   make test_android ANDROID_ADDR=root@192.168.4.5
# See also: https://wiki.mozilla.org/NSS:Android

test_android: package_for_testing android_install android_run_tests android_get_result

¤ Dauer der Verarbeitung: 0.20 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.