# -*- 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', 'testArrayBufferView.cpp', 'testArrayBufferWithUserOwnedContents.cpp', 'testAtomicOperations.cpp', 'testAtomizeUtf8NonAsciiLatin1CodePoint.cpp', 'testBoundFunction.cpp', 'testBug604087.cpp', 'testCallArgs.cpp', 'testCallNonGenericMethodOnProxy.cpp', 'testChromeBuffer.cpp', 'testCompileNonSyntactic.cpp', 'testCompileUtf8.cpp', 'testDateToLocaleString.cpp', 'testDebugger.cpp', 'testDeepFreeze.cpp', 'testDefineGetterSetterNonEnumerable.cpp', 'testDefineProperty.cpp', 'testDefinePropertyIgnoredAttributes.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', 'testFunctionBinding.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', 'testLookup.cpp', 'testLooselyEqual.cpp', 'testMappedArrayBuffer.cpp', 'testMemoryAssociation.cpp', 'testMutedErrors.cpp', 'testNewObject.cpp', 'testNewTargetInvokeConstructor.cpp', 'testNullRoot.cpp', 'testNumberToString.cpp', 'testObjectEmulatingUndefined.cpp', 'testOOM.cpp', 'testParseJSON.cpp', 'testPersistentRooted.cpp', 'testPreserveJitCode.cpp', 'testPrintf.cpp', 'testPrivateGCThingValue.cpp', 'testProfileStrings.cpp', 'testPromise.cpp', 'testPropCache.cpp', 'testReadableStream.cpp', 'testRegExp.cpp', 'testResolveRecursion.cpp', 'tests.cpp', 'testSABAccounting.cpp', 'testSameValue.cpp', 'testSavedStacks.cpp', 'testScriptInfo.cpp', 'testScriptObject.cpp', 'testScriptSourceCompression.cpp', 'testSetProperty.cpp', 'testSetPropertyIgnoringNamedGetter.cpp', 'testSharedImmutableStringsCache.cpp', 'testSourcePolicy.cpp', 'testSparseBitmap.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', 'testXDR.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 += [ 'testJitDCEinGVN.cpp', 'testJitFoldsTo.cpp', 'testJitGVN.cpp', 'testJitMacroAssembler.cpp', 'testJitMoveEmitterCycles-mips32.cpp', 'testJitMoveEmitterCycles.cpp', 'testJitRangeAnalysis.cpp', 'testJitRegisterSet.cpp', 'testJitRValueAlloc.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', ] 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']