# -*- 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/. GeckoProgram("jsapi-tests", linkage=None) include("../js-cxxflags.mozbuild") include("../js-standalone.mozbuild") UNIFIED_SOURCES += [ "selfTest.cpp", "testAddPropertyPropcache.cpp", "testArgumentsObject.cpp", "testArrayBuffer.cpp", "testArrayBufferOrViewAPI.cpp", "testArrayBufferView.cpp", "testArrayBufferWithUserOwnedContents.cpp", "testAtomicOperations.cpp", "testAtomizeUtf8NonAsciiLatin1CodePoint.cpp", "testAtomizeWithoutActiveZone.cpp", "testAvlTree.cpp", "testBigInt.cpp", "testBoundFunction.cpp", "testBug604087.cpp", "testCallArgs.cpp", "testCallNonGenericMethodOnProxy.cpp", "testChromeBuffer.cpp", "testCompileNonSyntactic.cpp", "testCompileScript.cpp", "testCompileUtf8.cpp", "testDateToLocaleString.cpp", "testDebugger.cpp", "testDeduplication.cpp", "testDeepFreeze.cpp", "testDefineGetterSetterNonEnumerable.cpp", "testDefineProperty.cpp", "testDeflateStringToUTF8Buffer.cpp", "testDifferentNewTargetInvokeConstructor.cpp", "testEmptyWindowIsOmitted.cpp", "testErrorCopying.cpp", "testErrorLineOfContext.cpp", "testException.cpp", "testExecuteInJSMEnvironment.cpp", "testExternalStrings.cpp", "testFindSCCs.cpp", "testForceLexicalInitialization.cpp", "testForOfIterator.cpp", "testForwardSetProperty.cpp", "testFreshGlobalEvalRedefinition.cpp", "testFrontendCompileStencil.cpp", "testFrontendJSON.cpp", "testFunctionBinding.cpp", "testFunctionNonSyntactic.cpp", "testFunctionProperties.cpp", "testGCAllocator.cpp", "testGCCellPtr.cpp", "testGCChunkPool.cpp", "testGCExactRooting.cpp", "testGCFinalizeCallback.cpp", "testGCGrayMarking.cpp", "testGCHeapBarriers.cpp", "testGCHooks.cpp", "testGCMarking.cpp", "testGCOutOfMemory.cpp", "testGCStoreBufferRemoval.cpp", "testGCUniqueId.cpp", "testGCWeakCache.cpp", "testGetPropertyDescriptor.cpp", "testHashTable.cpp", "testIndexToString.cpp", "testInformalValueTypeName.cpp", "testIntern.cpp", "testIntlAvailableLocales.cpp", "testIntString.cpp", "testIsInsideNursery.cpp", "testIteratorObject.cpp", "testJSEvaluateScript.cpp", "testJSON.cpp", "testLargeArrayBuffers.cpp", "testLookup.cpp", "testLooselyEqual.cpp", "testMappedArrayBuffer.cpp", "testMemoryAssociation.cpp", "testMutedErrors.cpp", "testNewObject.cpp", "testNewTargetInvokeConstructor.cpp", "testNullRoot.cpp", "testNumberToString.cpp", "testObjectEmulatingUndefined.cpp", "testObjectSwap.cpp", "testOOM.cpp", "testParseJSON.cpp", "testParserAtom.cpp", "testPersistentRooted.cpp", "testPreserveJitCode.cpp", "testPrintf.cpp", "testPrivateGCThingValue.cpp", "testProfileStrings.cpp", "testPromise.cpp", "testPropCache.cpp", "testPropertyKey.cpp", "testRecordTupleToSource.cpp", "testRegExp.cpp", "testResolveRecursion.cpp", "testResult.cpp", "tests.cpp", "testSABAccounting.cpp", "testSameValue.cpp", "testSavedStacks.cpp", "testScriptInfo.cpp", "testScriptObject.cpp", "testScriptSourceCompression.cpp", "testSetProperty.cpp", "testSetPropertyIgnoringNamedGetter.cpp", "testSharedImmutableStringsCache.cpp", "testSliceBudget.cpp", "testSlowScript.cpp", "testSourcePolicy.cpp", "testSparseBitmap.cpp", "testStencil.cpp", "testStringBuffer.cpp", "testStringIsArrayIndex.cpp", "testStructuredClone.cpp", "testSymbol.cpp", "testThreadingConditionVariable.cpp", "testThreadingExclusiveData.cpp", "testThreadingMutex.cpp", "testThreadingThread.cpp", "testToSignedOrUnsignedInteger.cpp", "testTypedArrays.cpp", "testUbiNode.cpp", "testUncaughtSymbol.cpp", "testUTF8.cpp", "testWasmLEB128.cpp", "testWeakMap.cpp", "testWindowNonConfigurable.cpp", ] SOURCES += [ # There are clashing definitions of js::jit::AssemblerBuffer. "testAssemblerBuffer.cpp", ] SOURCES += [ # We don't want this in the C++ files with the test cases. "hidePointer.cpp", ] if CONFIG["JS_HAS_INTL_API"]: UNIFIED_SOURCES += [ "testDecimalNumber.cpp", ] if not CONFIG["JS_CODEGEN_NONE"]: UNIFIED_SOURCES += [ "testJitABIcalls.cpp", "testJitDCEinGVN.cpp", "testJitFoldsTo.cpp", "testJitGVN.cpp", "testJitMacroAssembler.cpp", "testJitMoveEmitterCycles-mips32.cpp", "testJitMoveEmitterCycles.cpp", "testJitRangeAnalysis.cpp", "testJitRegisterSet.cpp", "testJitRValueAlloc.cpp", "testsJit.cpp", ] if CONFIG["NIGHTLY_BUILD"]: # The Error interceptor only exists on Nightly. UNIFIED_SOURCES += [ "testErrorInterceptor.cpp", "testErrorInterceptorGC.cpp", ] if CONFIG["OS_ARCH"] not in ("WINNT", "Darwin") and CONFIG["OS_TARGET"] != "Android": # open_memstream() not available on Windows, macOS, or Android UNIFIED_SOURCES += [ "testPrintError.cpp", ] if CONFIG["MOZ_DEBUG"] or CONFIG["NIGHTLY_BUILD"]: DEFINES["JS_CACHEIR_SPEW"] = True DEFINES["JS_STRUCTURED_SPEW"] = True DEFINES["EXPORT_JS_API"] = True LOCAL_INCLUDES += [ "!..", "..", ] USE_LIBS += [ "static:js", ] DEFINES["topsrcdir"] = "%s/js/src" % TOPSRCDIR OBJDIR_PP_FILES.js.src["jsapi-tests"] += ["jsapi-tests-gdb.py.in"]