Bug 1544961 - disable tests that cause gtest harness to crash on windows10-aarch64 r=jmaher,gbrown
authorEdwin Gao <egao@mozilla.com>
Wed, 17 Apr 2019 23:12:19 +0000
changeset 469968 3aa904e59c1bb6d6ea3ded4d8453db0ace13f189
parent 469967 634e0a2391ccb077685de5f19ab76c81a5aa5dd1
child 469969 938a637c68f05534032b90a7bbb07c0c270711cf
push id35884
push userapavel@mozilla.com
push dateThu, 18 Apr 2019 21:35:00 +0000
treeherdermozilla-central@74dc09642c22 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher, gbrown
bugs1544961
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1544961 - disable tests that cause gtest harness to crash on windows10-aarch64 r=jmaher,gbrown Changes: - most tests are skipped using `moz.build` configuration file. - `MultiWriterQueue` had to be skipped with `define` clauses in the test file due to build bustages when its `moz.build` file was used. Differential Revision: https://phabricator.services.mozilla.com/D27944
dom/media/doctor/gtest/TestMultiWriterQueue.cpp
gfx/tests/gtest/moz.build
image/test/gtest/moz.build
intl/gtest/moz.build
memory/gtest/moz.build
netwerk/test/gtest/moz.build
taskcluster/ci/test/test-sets.yml
--- a/dom/media/doctor/gtest/TestMultiWriterQueue.cpp
+++ b/dom/media/doctor/gtest/TestMultiWriterQueue.cpp
@@ -151,16 +151,17 @@ static void TestMultiWriterQueueMT(int a
       "alloc=%d (w %d)\n",
       aPrintPrefix, aWriterThreads, aReaderThreads, loops, pushes, duration,
       pushes / duration, q.LiveBuffersStats().mCount,
       q.LiveBuffersStats().mWatermark, q.ReusableBuffersStats().mCount,
       q.ReusableBuffersStats().mWatermark, q.AllocatedBuffersStats().mCount,
       q.AllocatedBuffersStats().mWatermark);
 }
 
+#if !defined(_M_ARM64)
 TEST(MultiWriterQueue, MultiWriterSingleReader)
 {
   // Small BufferSize, to exercize the buffer management code.
   TestMultiWriterQueueMT<
       MultiWriterQueue<int, 10, MultiWriterQueueReaderLocking_None>>(
       1, 0, 2 * 1024 * 1024, "MultiWriterQueue<int, 10, Locking_None>");
   TestMultiWriterQueueMT<
       MultiWriterQueue<int, 10, MultiWriterQueueReaderLocking_None>>(
@@ -210,17 +211,19 @@ TEST(MultiWriterQueue, MultiWriterSingle
       "MultiWriterQueue<int, DefaultBufferSize, Locking_None>");
 
   // DEBUG-mode thread-safety checks should make the following (multi-reader
   // with no locking) crash; uncomment to verify.
   // TestMultiWriterQueueMT<
   //   MultiWriterQueue<int, MultiWriterQueueDefaultBufferSize,
   //   MultiWriterQueueReaderLocking_None>>(64, 2, 2*1024*1024);
 }
+#endif
 
+#if !defined(_M_ARM64)
 TEST(MultiWriterQueue, MultiWriterMultiReader)
 {
   static_assert(
       mozilla::IsSame<MultiWriterQueue<int, 10>,
                       MultiWriterQueue<
                           int, 10, MultiWriterQueueReaderLocking_Mutex>>::value,
       "MultiWriterQueue reader locking should use Mutex by default");
 
@@ -267,16 +270,17 @@ TEST(MultiWriterQueue, MultiWriterMultiR
 
   // A more real-life buffer size.
   TestMultiWriterQueueMT<
       MultiWriterQueue<int, MultiWriterQueueDefaultBufferSize,
                        MultiWriterQueueReaderLocking_Mutex>>(
       64, 32, 1024 * 1024,
       "MultiWriterQueue<int, DefaultBufferSize, Locking_Mutex>");
 }
+#endif
 
 // Single-threaded use only.
 struct DequeWrapperST {
   nsDeque mDQ;
 
   bool Push(int i) {
     mDQ.PushFront(reinterpret_cast<void*>(static_cast<uintptr_t>(i)));
     return true;
--- a/gfx/tests/gtest/moz.build
+++ b/gfx/tests/gtest/moz.build
@@ -19,19 +19,24 @@ UNIFIED_SOURCES += [
     'TestMoz2D.cpp',
     'TestPolygon.cpp',
     'TestQcms.cpp',
     'TestRegion.cpp',
     'TestSkipChars.cpp',
     'TestSwizzle.cpp',
     'TestTextures.cpp',
     'TestTreeTraversal.cpp',
-    'TestVsync.cpp',
 ]
 
+# skip the test on windows10-aarch64
+if not(CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'aarch64'):
+    UNIFIED_SOURCES += [
+        'TestVsync.cpp',
+    ]
+
 if CONFIG['OS_TARGET'] != 'Android':
     UNIFIED_SOURCES += [
         'TestCompositor.cpp',
         'TestGfxPrefs.cpp',
         'TestRect.cpp',
         'TestTextureCompatibility.cpp',
     ]
 
--- a/image/test/gtest/moz.build
+++ b/image/test/gtest/moz.build
@@ -17,19 +17,24 @@ UNIFIED_SOURCES = [
     'TestRemoveFrameRectFilter.cpp',
     'TestStreamingLexer.cpp',
     'TestSurfaceSink.cpp',
 ]
 
 if CONFIG['OS_TARGET'] != 'Android':
     UNIFIED_SOURCES += [
         'TestContainers.cpp',
+        'TestFrameAnimator.cpp',
+    ]
+
+# skip the test on windows10-aarch64 and Android
+if not(CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'aarch64') and (CONFIG['OS_TARGET'] != 'Android'):
+    UNIFIED_SOURCES += [
         'TestDecoders.cpp',
         'TestDecodeToSurface.cpp',
-        'TestFrameAnimator.cpp',
         'TestMetadata.cpp',
         'TestSourceBuffer.cpp',
         'TestSurfaceCache.cpp',
     ]
 
 if CONFIG['MOZ_ENABLE_SKIA']:
     UNIFIED_SOURCES += [
         'TestDownscalingFilter.cpp',
--- a/intl/gtest/moz.build
+++ b/intl/gtest/moz.build
@@ -1,11 +1,14 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-UNIFIED_SOURCES += [
-    'TestEncoding.cpp',
-]
+UNIFIED_SOURCES += []
+
+if not(CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'aarch64'):
+    UNIFIED_SOURCES += [
+        'TestEncoding.cpp'
+    ]
 
 FINAL_LIBRARY = 'xul-gtest'
--- a/memory/gtest/moz.build
+++ b/memory/gtest/moz.build
@@ -1,15 +1,15 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-if CONFIG['OS_TARGET'] != 'Android':
+if CONFIG['OS_TARGET'] != 'Android' and not(CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'aarch64'):
     UNIFIED_SOURCES += [
         'TestJemalloc.cpp',
     ]
 
 FINAL_LIBRARY = 'xul-gtest'
 
 LOCAL_INCLUDES += [
     '../build',
--- a/netwerk/test/gtest/moz.build
+++ b/netwerk/test/gtest/moz.build
@@ -5,24 +5,29 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 UNIFIED_SOURCES += [
     'TestBufferedInputStream.cpp',
     'TestHeaders.cpp',
     'TestHttpAuthUtils.cpp',
     'TestIsValidIp.cpp',
     'TestMIMEInputStream.cpp',
-    'TestPACMan.cpp',
-    'TestPartiallySeekableInputStream.cpp',
     'TestProtocolProxyService.cpp',
     'TestReadStreamToString.cpp',
     'TestStandardURL.cpp',
-    'TestURIMutator.cpp',
 ]
 
+# skip the test on windows10-aarch64
+if not(CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'aarch64'):
+    UNIFIED_SOURCES += [
+        'TestPACMan.cpp',
+        'TestPartiallySeekableInputStream.cpp',
+        'TestURIMutator.cpp',
+    ]
+
 if CONFIG['OS_TARGET'] != 'Android':
     UNIFIED_SOURCES += [
         'TestMozURL.cpp',
         'TestServerTimingHeader.cpp',
     ]
 
 TEST_HARNESS_FILES.gtest += [
     'urltestdata.json',
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -251,16 +251,17 @@ windows-tests:
     - reftest-no-accel
     - test-verify
     - test-verify-gpu
     - test-verify-wpt
     - xpcshell
 
 windows-aarch64-tests:
     - crashtest
+    - gtest
     - jsreftest
     - marionette
     - marionette-headless
     - mochitest
     - mochitest-browser-chrome
     - mochitest-chrome
     - mochitest-clipboard
     - mochitest-devtools-chrome