moz.build (6293B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 GeckoProgram("jsapi-tests", linkage=None) 8 9 include("../js-cxxflags.mozbuild") 10 include("../js-standalone.mozbuild") 11 12 UNIFIED_SOURCES += [ 13 "selfTest.cpp", 14 "testAddPropertyPropcache.cpp", 15 "testArgumentsObject.cpp", 16 "testArrayBuffer.cpp", 17 "testArrayBufferOrViewAPI.cpp", 18 "testArrayBufferView.cpp", 19 "testArrayBufferWithUserOwnedContents.cpp", 20 "testAssemblerCodeGen.cpp", 21 "testAtomicOperations.cpp", 22 "testAtomizeUtf8NonAsciiLatin1CodePoint.cpp", 23 "testAtomizeWithoutActiveZone.cpp", 24 "testAvlTree.cpp", 25 "testBigInt.cpp", 26 "testBoundFunction.cpp", 27 "testBug604087.cpp", 28 "testCallArgs.cpp", 29 "testCallNonGenericMethodOnProxy.cpp", 30 "testCharacterEncoding.cpp", 31 "testChromeBuffer.cpp", 32 "testCompileNonSyntactic.cpp", 33 "testCompileScript.cpp", 34 "testCompileUtf8.cpp", 35 "testDateToLocaleString.cpp", 36 "testDebugger.cpp", 37 "testDeduplication.cpp", 38 "testDeepFreeze.cpp", 39 "testDefineGetterSetterNonEnumerable.cpp", 40 "testDefineProperty.cpp", 41 "testDeflateStringToUTF8Buffer.cpp", 42 "testDeleteProperty.cpp", 43 "testDifferentNewTargetInvokeConstructor.cpp", 44 "testDynamicCodeBrandChecks.cpp", 45 "testEmptyWindowIsOmitted.cpp", 46 "testErrorCopying.cpp", 47 "testErrorLineOfContext.cpp", 48 "testException.cpp", 49 "testExecuteInJSMEnvironment.cpp", 50 "testExternalStrings.cpp", 51 "testFifo.cpp", 52 "testFindSCCs.cpp", 53 "testForceLexicalInitialization.cpp", 54 "testForOfIterator.cpp", 55 "testForwardSetProperty.cpp", 56 "testFractionToDouble.cpp", 57 "testFreshGlobalEvalRedefinition.cpp", 58 "testFrontendCompileStencil.cpp", 59 "testFrontendErrors.cpp", 60 "testFrontendJSON.cpp", 61 "testFunctionBinding.cpp", 62 "testFunctionNonSyntactic.cpp", 63 "testFunctionProperties.cpp", 64 "testGCAllocator.cpp", 65 "testGCCellPtr.cpp", 66 "testGCChunkPool.cpp", 67 "testGCExactRooting.cpp", 68 "testGCFinalizeCallback.cpp", 69 "testGCGrayMarking.cpp", 70 "testGCHeapBarriers.cpp", 71 "testGCHooks.cpp", 72 "testGCMarking.cpp", 73 "testGCOutOfMemory.cpp", 74 "testGCStoreBufferRemoval.cpp", 75 "testGCUniqueId.cpp", 76 "testGCWeakCache.cpp", 77 "testGetPropertyDescriptor.cpp", 78 "testHashTable.cpp", 79 "testIndexToString.cpp", 80 "testInformalValueTypeName.cpp", 81 "testInt128.cpp", 82 "testIntern.cpp", 83 "testIntlAvailableLocales.cpp", 84 "testIntString.cpp", 85 "testIsCompilableUnit.cpp", 86 "testIsInsideNursery.cpp", 87 "testIsISOStyleDate.cpp", 88 "testIteratorObject.cpp", 89 "testJSEvaluateScript.cpp", 90 "testJSON.cpp", 91 "testLargeArrayBuffers.cpp", 92 "testLinkedList.cpp", 93 "testLookup.cpp", 94 "testLooselyEqual.cpp", 95 "testMappedArrayBuffer.cpp", 96 "testMapSet.cpp", 97 "testMemoryAssociation.cpp", 98 "testMutedErrors.cpp", 99 "testNewObject.cpp", 100 "testNewTargetInvokeConstructor.cpp", 101 "testNullRoot.cpp", 102 "testNumberToString.cpp", 103 "testObjectEmulatingUndefined.cpp", 104 "testObjectSwap.cpp", 105 "testObjectWithStashedPointer.cpp", 106 "testOOM.cpp", 107 "testParseJSON.cpp", 108 "testParserAtom.cpp", 109 "testPersistentRooted.cpp", 110 "testPreserveJitCode.cpp", 111 "testPrinter.cpp", 112 "testPrintf.cpp", 113 "testPrivateGCThingValue.cpp", 114 "testProfileStrings.cpp", 115 "testPromise.cpp", 116 "testPropCache.cpp", 117 "testPropertyKey.cpp", 118 "testRegExp.cpp", 119 "testResolveRecursion.cpp", 120 "testResult.cpp", 121 "tests.cpp", 122 "testSABAccounting.cpp", 123 "testSameValue.cpp", 124 "testSavedStacks.cpp", 125 "testScriptInfo.cpp", 126 "testScriptObject.cpp", 127 "testScriptSourceCompression.cpp", 128 "testSetProperty.cpp", 129 "testSetPropertyIgnoringNamedGetter.cpp", 130 "testSharedImmutableStringsCache.cpp", 131 "testSinglyLinkedList.cpp", 132 "testSliceBudget.cpp", 133 "testSlowScript.cpp", 134 "testSortedArenaList.cpp", 135 "testSourcePolicy.cpp", 136 "testSparseBitmap.cpp", 137 "testStencil.cpp", 138 "testStringBuffers.cpp", 139 "testStringBuilder.cpp", 140 "testStringIsArrayIndex.cpp", 141 "testStructuredClone.cpp", 142 "testSymbol.cpp", 143 "testThreadingConditionVariable.cpp", 144 "testThreadingExclusiveData.cpp", 145 "testThreadingMutex.cpp", 146 "testThreadingThread.cpp", 147 "testToSignedOrUnsignedInteger.cpp", 148 "testTraceableFifoValue.cpp", 149 "testTypedArrays.cpp", 150 "testUbiNode.cpp", 151 "testUncaughtSymbol.cpp", 152 "testUTF8.cpp", 153 "testWasmEncoder.cpp", 154 "testWasmLEB128.cpp", 155 "testWasmMasm.cpp", 156 "testWasmRefSubtypes.cpp", 157 "testWasmReturnCalls.cpp", 158 "testWeakMap.cpp", 159 "testWindowNonConfigurable.cpp", 160 ] 161 162 SOURCES += [ 163 # There are clashing definitions of js::jit::AssemblerBuffer. 164 "testAssemblerBuffer.cpp", 165 ] 166 167 SOURCES += [ 168 # We don't want this in the C++ files with the test cases. 169 "hidePointer.cpp", 170 ] 171 172 if not CONFIG["JS_CODEGEN_NONE"]: 173 UNIFIED_SOURCES += [ 174 "testJitABIcalls.cpp", 175 "testJitDCEinGVN.cpp", 176 "testJitFoldsTo.cpp", 177 "testJitGVN.cpp", 178 "testJitMacroAssembler.cpp", 179 "testJitMoveEmitterCycles.cpp", 180 "testJitRangeAnalysis.cpp", 181 "testJitRegisterSet.cpp", 182 "testJitRValueAlloc.cpp", 183 "testsJit.cpp", 184 ] 185 186 if CONFIG["NIGHTLY_BUILD"]: 187 # The Error interceptor only exists on Nightly. 188 UNIFIED_SOURCES += [ 189 "testErrorInterceptor.cpp", 190 "testErrorInterceptorGC.cpp", 191 ] 192 193 if CONFIG["OS_ARCH"] not in ("WINNT", "Darwin") and CONFIG["OS_TARGET"] != "Android": 194 # open_memstream() not available on Windows, macOS, or Android 195 UNIFIED_SOURCES += [ 196 "testPrintError.cpp", 197 ] 198 199 if CONFIG["MOZ_DEBUG"] or CONFIG["NIGHTLY_BUILD"]: 200 DEFINES["JS_CACHEIR_SPEW"] = True 201 DEFINES["JS_STRUCTURED_SPEW"] = True 202 203 DEFINES["EXPORT_JS_API"] = True 204 205 LOCAL_INCLUDES += [ 206 "!..", 207 "..", 208 ] 209 210 USE_LIBS += [ 211 "static:js", 212 ] 213 214 if CONFIG["MOZ_LTO_FAT"]: 215 LDFLAGS += ["-fno-lto"] 216 217 DEFINES["topsrcdir"] = "%s/js/src" % TOPSRCDIR 218 OBJDIR_PP_FILES.js.src["jsapi-tests"] += ["jsapi-tests-gdb.py.in"]