Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
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",
"testCharacterEncoding.cpp",
"testChromeBuffer.cpp",
"testCompileNonSyntactic.cpp",
"testCompileScript.cpp",
"testCompileUtf8.cpp",
"testDateToLocaleString.cpp",
"testDebugger.cpp",
"testDeduplication.cpp",
"testDeepFreeze.cpp",
"testDefineGetterSetterNonEnumerable.cpp",
"testDefineProperty.cpp",
"testDeflateStringToUTF8Buffer.cpp",
"testDeleteProperty.cpp",
"testDifferentNewTargetInvokeConstructor.cpp",
"testEmptyWindowIsOmitted.cpp",
"testErrorCopying.cpp",
"testErrorLineOfContext.cpp",
"testException.cpp",
"testExecuteInJSMEnvironment.cpp",
"testExternalStrings.cpp",
"testFindSCCs.cpp",
"testForceLexicalInitialization.cpp",
"testForOfIterator.cpp",
"testForwardSetProperty.cpp",
"testFractionToDouble.cpp",
"testFreshGlobalEvalRedefinition.cpp",
"testFrontendCompileStencil.cpp",
"testFrontendErrors.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",
"testInt128.cpp",
"testIntern.cpp",
"testIntlAvailableLocales.cpp",
"testIntString.cpp",
"testIsCompilableUnit.cpp",
"testIsInsideNursery.cpp",
"testIsISOStyleDate.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",
"testSinglyLinkedList.cpp",
"testSliceBudget.cpp",
"testSlowScript.cpp",
"testSourcePolicy.cpp",
"testSparseBitmap.cpp",
"testStencil.cpp",
"testStringBuffers.cpp",
"testStringBuilder.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",
"testWasmEncoder.cpp",
"testWasmLEB128.cpp",
"testWasmReturnCalls.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 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"]