Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/testing/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 8 kB image not shown  

Quelle  testsuite-targets.mk   Sprache: Shell

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

# include automation-build.mk to get the path to the binary
TARGET_DEPTH = $(DEPTH)
include $(topsrcdir)/build/binary-location.mk

SYMBOLS_PATH := --symbols-path=$(DIST)/crashreporter-symbols

ifndef TEST_PACKAGE_NAME
TEST_PACKAGE_NAME := $(ANDROID_PACKAGE_NAME)
endif

ifndef NO_FAIL_ON_TEST_ERRORS
define check_test_error_internal
  @errors=`grep 'TEST-UNEXPECTED-' $@.log` ;\
  if test "$$errors" ; then \
   echo '$@ failed:'; \
   echo "$$errors"; \
          $(if $(1),echo $(1);) \
   exit 1; \
  fi
endef
CHECK_TEST_ERROR = $(call check_test_error_internal)
CHECK_TEST_ERROR_RERUN = $(call check_test_error_internal,'To rerun your failures please run "make $@-rerun-failures"')
endif

# Usage: |make [EXTRA_TEST_ARGS=...] *test|.
RUN_REFTEST = rm -f ./$@.log && $(PYTHON3) _tests/reftest/runreftest.py \
  --extra-profile-file=$(DIST)/plugins \
  $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS) $(1) | tee ./$@.log

REMOTE_REFTEST = rm -f ./$@.log && $(PYTHON3) _tests/reftest/remotereftest.py \
  --ignore-window-size \
  --app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \
  --httpd-path=_tests/modules --suite reftest \
  --extra-profile-file=$(topsrcdir)/mobile/android/fonts \
  $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS) $(1) | tee ./$@.log

ifeq ($(OS_ARCH),WINNT) #{
# GPU-rendered shadow layers are unsupported here
OOP_CONTENT = --setpref=layers.async-pan-zoom.enabled=true --setpref=layers.acceleration.disabled=true
GPU_RENDERING =
else
OOP_CONTENT = --setpref=layers.async-pan-zoom.enabled=true
GPU_RENDERING = --setpref=layers.acceleration.force-enabled=true
endif #}

reftest: TEST_PATH?=layout/reftests/reftest.list
reftest:
 $(call RUN_REFTEST,'$(topsrcdir)/$(TEST_PATH)')
 $(CHECK_TEST_ERROR)

reftest-remote: TEST_PATH?=layout/reftests/reftest.list
reftest-remote:
 @if [ '${MOZ_HOST_BIN}' = '' ]; then \
        echo 'environment variable MOZ_HOST_BIN must be set to a directory containing host xpcshell'; \
    elif [ ! -d ${MOZ_HOST_BIN} ]; then \
        echo 'MOZ_HOST_BIN does not specify a directory'; \
    elif [ ! -f ${MOZ_HOST_BIN}/xpcshell ]; then \
        echo 'xpcshell not found in MOZ_HOST_BIN'; \
    else \
        ln -s $(abspath $(topsrcdir)) _tests/reftest/tests; \
        $(call REMOTE_REFTEST,'tests/$(TEST_PATH)'); \
        $(CHECK_TEST_ERROR); \
    fi

crashtest: TEST_PATH?=testing/crashtest/crashtests.list
crashtest:
 $(call RUN_REFTEST,'$(topsrcdir)/$(TEST_PATH)')
 $(CHECK_TEST_ERROR)

jstestbrowser: TESTS_PATH?=test-stage/jsreftest/tests/
jstestbrowser:
 $(MAKE) -C $(DEPTH)/config
 $(MAKE) stage-jstests
 $(call RUN_REFTEST,'$(DIST)/$(TESTS_PATH)/jstests.list' --extra-profile-file=$(DIST)/test-stage/jsreftest/tests/user.js)
 $(CHECK_TEST_ERROR)

REMOTE_CPPUNITTESTS = \
 $(PYTHON3) -u $(topsrcdir)/testing/remotecppunittests.py \
   --xre-path=$(DEPTH)/dist/bin \
   --localLib=$(DEPTH)/dist/geckoview \
   --deviceIP=${TEST_DEVICE} \
   $(TEST_PATH) $(EXTRA_TEST_ARGS)

# Usage: |make [TEST_PATH=...] [EXTRA_TEST_ARGS=...] cppunittests-remote|.
cppunittests-remote:
 $(call REMOTE_CPPUNITTESTS);

# Package up the tests and test harnesses
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk

PKG_STAGE = $(DIST)/test-stage

stage-all: \
  stage-config \
  stage-mach \
  stage-extensions \
  stage-mochitest \
  stage-jstests \
  test-packages-manifest \
  $(NULL)

ifdef COMPILE_ENVIRONMENT
stage-all: stage-cppunittests
endif

TEST_PKGS_TARGZ := \
  common \
  condprof \
  cppunittest \
  mochitest \
  reftest \
  talos \
  raptor \
  awsy \
  xpcshell \
  web-platform \
  updater-dep \
  jsreftest \
  jittest \
  perftests \
  fuzztest \
  $(NULL)

ifdef LINK_GTEST_DURING_COMPILE
stage-all: stage-gtest
TEST_PKGS_TARGZ += gtest
endif

PKG_ARG = --$(1) '$(PKG_BASENAME).$(1).tests.$(2)'

test-packages-manifest:
 @rm -f $(MOZ_TEST_PACKAGES_FILE)
 $(NSINSTALL) -D $(dir $(MOZ_TEST_PACKAGES_FILE))
 $(PYTHON3) $(topsrcdir)/build/gen_test_packages_manifest.py \
      --jsshell $(JSSHELL_NAME) \
      --dest-file '$(MOZ_TEST_PACKAGES_FILE)' \
      $(call PKG_ARG,common,zip) \
      $(foreach pkg,$(TEST_PKGS_TARGZ),$(call PKG_ARG,$(pkg),tar.gz))

ifdef UPLOAD_PATH
test_archive_dir = $(UPLOAD_PATH)
else
test_archive_dir = $(DIST)/$(PKG_PATH)
endif

package-tests-prepare-dest:
 $(NSINSTALL) -D $(test_archive_dir)

download-wpt-manifest:
 $(call py_action,download_wpt_manifest)

define package_archive
package-tests-$(1): stage-all package-tests-prepare-dest download-wpt-manifest
 $$(call py_action,test_archive, \
  $(1) \
  '$$(abspath $$(test_archive_dir))/$$(PKG_BASENAME).$(1).tests.$(2)')
package-tests: package-tests-$(1)
endef

$(foreach name,$(TEST_PKGS_TARGZ),$(eval $(call package_archive,$(name),tar.gz)))

ifeq ($(MOZ_BUILD_APP),mobile/android)
stage-all: stage-android
endif

# Prepare _tests before any of the other staging/packaging steps.
# make-stage-dir is a prerequisite to all the stage-* targets in testsuite-targets.mk.
make-stage-dir: install-test-files
 rm -rf $(PKG_STAGE)
 $(NSINSTALL) -D $(PKG_STAGE)
 $(NSINSTALL) -D $(PKG_STAGE)/bin
 $(NSINSTALL) -D $(PKG_STAGE)/bin/components
 $(NSINSTALL) -D $(PKG_STAGE)/certs
 $(NSINSTALL) -D $(PKG_STAGE)/config
 $(NSINSTALL) -D $(PKG_STAGE)/modules
 $(NSINSTALL) -D $(PKG_STAGE)/tools/mach

stage-config: make-stage-dir
 $(NSINSTALL) -D $(PKG_STAGE)/config
 @(cd $(topsrcdir)/testing/config && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/config && tar -xf -)

stage-mach: make-stage-dir
 @(cd $(topsrcdir)/python/mach && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/tools/mach && tar -xf -)
 cp $(topsrcdir)/testing/tools/mach_test_package_initialize.py $(PKG_STAGE)/tools/mach_initialize.py
 cp $(topsrcdir)/mach $(PKG_STAGE)

stage-mochitest: make-stage-dir ;

stage-jstests: make-stage-dir
 $(MAKE) -C $(DEPTH)/js/src/tests stage-package

ifdef OBJCOPY
ifneq ($(OBJCOPY), :) # see build/autoconf/toolchain.m4:102 for why this is necessary
ifdef PKG_STRIP
STRIP_COMPILED_TESTS := 1
endif
endif
endif

stage-gtest: make-stage-dir
 $(NSINSTALL) -D $(PKG_STAGE)/gtest/gtest_bin/gtest
ifdef STRIP_COMPILED_TESTS
# The libxul file basename will vary per platform. Fortunately
# dependentlibs.list always lists the library name as its final line, so we
# can get the value from there.
 LIBXUL_BASE=`tail -1 $(DIST)/bin/dependentlibs.list` && \
        $(OBJCOPY) $(or $(STRIP_FLAGS),--strip-unneeded) \
        $(DIST)/bin/gtest/$$LIBXUL_BASE $(PKG_STAGE)/gtest/gtest_bin/gtest/$$LIBXUL_BASE
else
 cp -RL $(DIST)/bin/gtest $(PKG_STAGE)/gtest/gtest_bin
endif
 cp -RL $(DIST)/bin/gtest/*buildid.* $(PKG_STAGE)/gtest/gtest_bin/gtest
 cp -RL $(DEPTH)/_tests/gtest $(PKG_STAGE)
 cp $(topsrcdir)/testing/gtest/gtest_filter_sets.py $(PKG_STAGE)/gtest
 cp $(topsrcdir)/testing/gtest/gtest_filter_sets.yml $(PKG_STAGE)/gtest
 cp $(topsrcdir)/testing/gtest/rungtests.py $(PKG_STAGE)/gtest
 cp $(topsrcdir)/testing/gtest/remotegtests.py $(PKG_STAGE)/gtest
 cp $(topsrcdir)/testing/gtest/mach_test_package_commands.py $(PKG_STAGE)/gtest
 cp $(DIST)/bin/dependentlibs.list.gtest $(PKG_STAGE)/gtest
 cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/gtest

stage-android: make-stage-dir
 $(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/reftest
 $(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/testing/mochitest

ifdef MOZ_COPY_PDBS
CPP_UNIT_TEST_BINS=$(filter-out $(wildcard $(DIST)/cppunittests/*.pdb), $(wildcard $(DIST)/cppunittests/*))
else
CPP_UNIT_TEST_BINS=$(wildcard $(DIST)/cppunittests/*)
endif

stage-cppunittests: make-stage-dir
 $(NSINSTALL) -D $(PKG_STAGE)/cppunittest
ifdef STRIP_COMPILED_TESTS
 $(foreach bin,$(CPP_UNIT_TEST_BINS),$(OBJCOPY) $(or $(STRIP_FLAGS),--strip-unneeded) $(bin) $(bin:$(DIST)/cppunittests/%=$(PKG_STAGE)/cppunittest/%);)
else
 cp -RL $(CPP_UNIT_TEST_BINS) $(PKG_STAGE)/cppunittest
endif
ifdef MOZ_COPY_PDBS
 cp -RL $(addsuffix .pdb,$(basename $(CPP_UNIT_TEST_BINS))) $(PKG_STAGE)/cppunittest
endif
ifdef STRIP_COMPILED_TESTS
 $(OBJCOPY) $(or $(STRIP_FLAGS),--strip-unneeded) $(DIST)/bin/jsapi-tests$(BIN_SUFFIX) $(PKG_STAGE)/cppunittest/jsapi-tests$(BIN_SUFFIX)
else
 cp -RL $(DIST)/bin/jsapi-tests$(BIN_SUFFIX) $(PKG_STAGE)/cppunittest
endif
ifdef MOZ_COPY_PDBS
 cp -RL $(DIST)/bin/jsapi-tests.pdb $(PKG_STAGE)/cppunittest
endif

TEST_EXTENSIONS := \
    specialpowers@mozilla.org.xpi \
 $(NULL)

stage-extensions: make-stage-dir
 $(NSINSTALL) -D $(PKG_STAGE)/extensions/
 @$(foreach ext,$(TEST_EXTENSIONS), cp -RL $(DIST)/xpi-stage/$(ext) $(PKG_STAGE)/extensions;)


.PHONY: \
  reftest \
  crashtest \
  xpcshell-tests \
  jstestbrowser \
  package-tests \
  download-wpt-manifest \
  package-tests-prepare-dest \
  package-tests-common \
  make-stage-dir \
  stage-all \
  stage-config \
  stage-mochitest \
  stage-jstests \
  stage-android \
  test-packages-manifest \
  check \
  $(NULL)

92%


¤ 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 ist noch experimentell.