diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | firefox.spec | 43 | ||||
-rwxr-xr-x | print_subtest | 5 | ||||
-rwxr-xr-x | run-tests | 35 | ||||
-rwxr-xr-x | run-tests-wayland | 52 | ||||
-rw-r--r-- | sources | 4 |
6 files changed, 61 insertions, 79 deletions
@@ -438,3 +438,4 @@ firefox-3.6.4.source.tar.bz2 /mochitest-python.tar.gz /firefox-84.0.source.tar.xz /firefox-langpacks-84.0-20201210.tar.xz +/firefox-langpacks-84.0-20201214.tar.xz diff --git a/firefox.spec b/firefox.spec index b143a3d..cfbd23a 100644 --- a/firefox.spec +++ b/firefox.spec @@ -12,9 +12,7 @@ # There are still build problems on s390x, see # https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351 # https://bugzilla.redhat.com/show_bug.cgi?id=1897522 -#ExcludeArch: s390x -#ExcludeArch: armv7hl -#ExcludeArch: aarch64 +ExcludeArch: s390x %ifarch armv7hl %global create_debuginfo 0 @@ -74,6 +72,14 @@ %global build_tests 1 %endif +%global launch_wayland_compositor 0 +%if %{build_with_pgo} && %{test_offscreen} && %{test_on_wayland} +%global launch_wayland_compositor 1 +%endif +%if %{run_firefox_tests} && %{test_offscreen} && %{test_on_wayland} +%global launch_wayland_compositor 1 +%endif + %global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html %global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} # Minimal required versions @@ -125,7 +131,7 @@ URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20201210.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20201214.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source10: firefox-mozconfig @@ -148,7 +154,7 @@ Source35: google-loc-api-key Source37: mochitest-python.tar.gz Source38: print_results Source39: print_subtest -Source40: run-tests +Source40: run-tests-x11 Source41: run-tests-wayland # Build patches @@ -670,9 +676,7 @@ echo "export STRIP=/bin/true" >> .mozconfig export MACH_USE_SYSTEM_PYTHON=1 export MACH_NO_WRITE_TIMES=1 -%if %{build_with_pgo} -%if %{test_offscreen} -%if %{test_on_wayland} +%if %{launch_wayland_compositor} if [ -z "$XDG_RUNTIME_DIR" ]; then export XDG_RUNTIME_DIR=$HOME fi @@ -682,20 +686,16 @@ if [ -z "$WAYLAND_DISPLAY" ]; then else export WAYLAND_DISPLAY=wayland-1 fi -MOZ_ENABLE_WAYLAND=1 ./mach build 2>&1 | cat - -%endif -%if !%{test_on_wayland} -MOZ_ENABLE_WAYLAND=0 xvfb-run ./mach build 2>&1 | cat - -%endif %endif -%if !%{test_offscreen} -MOZ_ENABLE_WAYLAND=%{test_on_wayland} ./mach build 2>&1 | cat - -%endif +%if %{build_with_pgo} +%if %{test_on_wayland} +MOZ_ENABLE_WAYLAND=1 ./mach build 2>&1 | cat - +%else +MOZ_ENABLE_WAYLAND=0 xvfb-run ./mach build 2>&1 | cat - %endif - -%if !%{build_with_pgo} -./mach build -v 2>&1 | cat - +%else +./mach build 2>&1 | cat - %endif # create debuginfo for crash-stats.mozilla.com @@ -715,9 +715,9 @@ tar xf %{SOURCE37} cp %{SOURCE40} %{SOURCE41} %{SOURCE38} %{SOURCE39} . mkdir -p test_results %if %{test_on_wayland} -./run-tests-wayland %{test_offscreen} +./run-tests-wayland %else -./run-tests +./run-tests-x11 %endif ./print_results > test_summary.txt 2>&1 %endif @@ -749,7 +749,6 @@ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE29} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox %{__chmod} 755 %{buildroot}%{_bindir}/firefox - %if 0%{?flatpak} sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/firefox %else diff --git a/print_subtest b/print_subtest index 6657757..f64fc8f 100755 --- a/print_subtest +++ b/print_subtest @@ -9,11 +9,6 @@ MERR=`grep "TEST_END: Test ERROR" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` MUNEX=`grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` echo "Mochitest PASSED: $MPASS FAILED: $MERR UNEXPECTED-FAILURES: $MUNEX" -MARPASS=`grep --text "Expected results:" $TEST_DIR/marionette$TEST_FLAVOUR | cut -d ' ' -f 3` -MARSKIP=`grep --text "Skipped:" $TEST_DIR/marionette$TEST_FLAVOUR | cut -d ' ' -f 2` -MARFAILED=`grep --text "Unexpected results:" $TEST_DIR/marionette$TEST_FLAVOUR | cut -d ' ' -f 3` -echo "Marionette: PASSED: $MARPASS FAILED: $MARSKIP Known issues: $MARFAILED" - XPCPASS=`grep --text "Expected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` XPCFAIL=`grep --text "Unexpected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` echo "XPCShell: PASSED: $XPCPASS FAILED: $XPCFAIL" diff --git a/run-tests b/run-tests deleted file mode 100755 index f5f5056..0000000 --- a/run-tests +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/bash -set -x - -export MACH_USE_SYSTEM_PYTHON=1 -export MOZ_NODE_PATH=/usr/bin/node -export X_PARAMS="-screen 0 1600x1200x24" -export MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" -export TEST_DIR="test_results" - -# Fix for system nss -ln -s /usr/bin/certutil objdir/dist/bin/certutil -ln -s /usr/bin/pk12util objdir/dist/bin/pk12util - -NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" - -# Basic render testing -export TEST_PARAMS="" -export TEST_FLAVOUR="" -xvfb-run -s "$X_PARAMS" ./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS >& $TEST_DIR/mochitest$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach crashtest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/crashtest$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach marionette-test $TEST_PARAMS >& $TEST_DIR/marionette$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach reftest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/reftest$TEST_FLAVOUR -./mach xpcshell-test $TEST_PARAMS 2>&1 | cat - > $TEST_DIR/xpcshell$TEST_FLAVOUR - -# WebRender testing -export TEST_PARAMS="--enable-webrender $TEST_PARAMS" -export TEST_FLAVOUR="-wr" -xvfb-run -s "$X_PARAMS" ./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS >& $TEST_DIR/mochitest$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach crashtest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/crashtest$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach marionette-test $TEST_PARAMS >& $TEST_DIR/marionette$TEST_FLAVOUR -xvfb-run -s "$X_PARAMS" ./mach reftest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/reftest$TEST_FLAVOUR -./mach xpcshell-test $TEST_PARAMS 2>&1 | cat - > $TEST_DIR/xpcshell$TEST_FLAVOUR - -rm -f objdir/dist/bin/certutil -rm -f objdir/dist/bin/pk12util diff --git a/run-tests-wayland b/run-tests-wayland index 43ee52c..c3833fa 100755 --- a/run-tests-wayland +++ b/run-tests-wayland @@ -1,10 +1,11 @@ #!/usr/bin/bash set -x +OFFSCREEN_TESTING=$1 -export MACH_USE_SYSTEM_PYTHON=1 -export MOZ_NODE_PATH=/usr/bin/node -export MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" -export TEST_DIR="test_results" +MACH_USE_SYSTEM_PYTHON=1 +MOZ_NODE_PATH=/usr/bin/node +MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" +TEST_DIR="test_results" # Fix for system nss ln -s /usr/bin/certutil objdir/dist/bin/certutil @@ -12,24 +13,45 @@ ln -s /usr/bin/pk12util objdir/dist/bin/pk12util NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +export MOZ_ENABLE_WAYLAND=1 + +if [ $OFFSCREEN_TESTING -ne 0 ] ; then + xvfb-run -s "-screen 0 1600x1200x24" -n 80 mutter --wayland --nested & + if [ -z "$WAYLAND_DISPLAY" ] ; then + export WAYLAND_DISPLAY=wayland-0 + else + export WAYLAND_DISPLAY=wayland-1 + fi + sleep 10 + retry_count=0 + max_retries=5 + until [ $retry_count -gt $max_retries ]; do + if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then + retry_count=$(($max_retries + 1)) + else + retry_count=$(($retry_count + 1)) + echo "Waiting for Mutter, retry: $retry_count" + sleep 2 + fi + done +fi + +./mach xpcshell-test 2>&1 | cat - | tee $TEST_DIR/xpcshell +./mach xpcshell-test --enable-webrender 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr + # Basic render testing export TEST_PARAMS="" export TEST_FLAVOUR="" -export MOZ_ENABLE_WAYLAND=1 -./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS >& $TEST_DIR/mochitest$TEST_FLAVOUR -./mach crashtest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/crashtest$TEST_FLAVOUR -./mach marionette-test $TEST_PARAMS >& $TEST_DIR/marionette$TEST_FLAVOUR -./mach reftest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/reftest$TEST_FLAVOUR -./mach xpcshell-test $TEST_PARAMS 2>&1 | cat - > $TEST_DIR/xpcshell$TEST_FLAVOUR +./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR +./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR +./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR # WebRender testing export TEST_PARAMS="--enable-webrender $TEST_PARAMS" export TEST_FLAVOUR="-wr" -./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS >& $TEST_DIR/mochitest$TEST_FLAVOUR -./mach crashtest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/crashtest$TEST_FLAVOUR -./mach marionette-test $TEST_PARAMS >& $TEST_DIR/marionette$TEST_FLAVOUR -./mach reftest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/reftest$TEST_FLAVOUR -./mach xpcshell-test $TEST_PARAMS 2>&1 | cat - > $TEST_DIR/xpcshell$TEST_FLAVOUR +./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR +./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR +./mach mochitest $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR rm -f objdir/dist/bin/certutil rm -f objdir/dist/bin/pk12util @@ -1,4 +1,4 @@ SHA512 (cbindgen-vendor.tar.xz) = 3c925c5523246b7dfbcb4ce563483d5b45315a06dc90f2cf07cddef0c263dd15b410afbbe4d86594de96a308e93be3b27ffec01f5f759a42ecba3cc983b1677f SHA512 (mochitest-python.tar.gz) = 7f357cb8bd93d64be5cb75819a8a813d2f8f217ff25f0df8c3190910744132405d45797b3900775a44b554f5c70cf2682809c9e7a686ca131fddcd81e98028d9 -SHA512 (firefox-84.0.source.tar.xz) = 16e3219e28d0807f53c9713e7efaea56cea65bb02959680bed13db4bd9331d9651de5c80c70c928a41b3db9d5471d7b38fa2d88f3e8017565ca7ea79ed0527e9 -SHA512 (firefox-langpacks-84.0-20201210.tar.xz) = 3f836e854425ad9911cc02d5e82f88b904ecbd63357caa677a35bd226d475a161bcbb1647bfce17fed3ccb719dd95340cc7b0b6f7478c87d7c0b45c9493218a5 +SHA512 (firefox-84.0.source.tar.xz) = 6ad94617ee7b30c23c94dc5a0e0a5aded0022a91b7cbe393284659227e3a5e2390ce4438a459e9789291fa6ace787429388ce715ae1f758446b3c2e682c1d2ce +SHA512 (firefox-langpacks-84.0-20201214.tar.xz) = 139ce8f3f62740bbb6ec912c5cca1e086991bf1a6d887ed25e00a44f7a291b9cb269b32a2d1fc28297d4df9ff45c7099dbb414924fa9cd8f53f969d4c23d39ef |