|  | # Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | import("//testing/test.gni") | 
|  |  | 
|  | visibility = [ "//sky/*" ] | 
|  |  | 
|  | component("wtf") { | 
|  | sources = [ | 
|  | "AddressSpaceRandomization.cpp", | 
|  | "AddressSpaceRandomization.h", | 
|  | "Alignment.h", | 
|  | "ArrayBuffer.cpp", | 
|  | "ArrayBuffer.h", | 
|  | "ArrayBufferBuilder.cpp", | 
|  | "ArrayBufferBuilder.h", | 
|  | "ArrayBufferContents.cpp", | 
|  | "ArrayBufferContents.h", | 
|  | "ArrayBufferDeallocationObserver.h", | 
|  | "ArrayBufferView.cpp", | 
|  | "ArrayBufferView.h", | 
|  | "ArrayPiece.cpp", | 
|  | "ArrayPiece.h", | 
|  | "ASCIICType.h", | 
|  | "asm/SaturatedArithmeticARM.h", | 
|  | "Assertions.cpp", | 
|  | "Assertions.h", | 
|  | "Atomics.h", | 
|  | "BitArray.h", | 
|  | "BitVector.cpp", | 
|  | "BitVector.h", | 
|  | "BitwiseOperations.h", | 
|  | "BloomFilter.h", | 
|  | "ByteOrder.h", | 
|  | "ByteSwap.h", | 
|  | "CheckedArithmetic.h", | 
|  | "Compiler.h", | 
|  | "Complex.h", | 
|  | "CPU.h", | 
|  | "CryptographicallyRandomNumber.cpp", | 
|  | "CryptographicallyRandomNumber.h", | 
|  | "CurrentTime.cpp", | 
|  | "CurrentTime.h", | 
|  | "DataLog.cpp", | 
|  | "DataLog.h", | 
|  | "DateMath.cpp", | 
|  | "DateMath.h", | 
|  | "DefaultAllocator.cpp", | 
|  | "DefaultAllocator.h", | 
|  | "Deque.h", | 
|  | "DoubleBufferedDeque.h", | 
|  | "DoublyLinkedList.h", | 
|  | "dtoa.cpp", | 
|  | "dtoa.h", | 
|  | "dtoa/bignum-dtoa.cc", | 
|  | "dtoa/bignum-dtoa.h", | 
|  | "dtoa/bignum.cc", | 
|  | "dtoa/bignum.h", | 
|  | "dtoa/cached-powers.cc", | 
|  | "dtoa/cached-powers.h", | 
|  | "dtoa/diy-fp.cc", | 
|  | "dtoa/diy-fp.h", | 
|  | "dtoa/double-conversion.cc", | 
|  | "dtoa/double-conversion.h", | 
|  | "dtoa/double.h", | 
|  | "dtoa/fast-dtoa.cc", | 
|  | "dtoa/fast-dtoa.h", | 
|  | "dtoa/fixed-dtoa.cc", | 
|  | "dtoa/fixed-dtoa.h", | 
|  | "dtoa/strtod.cc", | 
|  | "dtoa/strtod.h", | 
|  | "dtoa/utils.h", | 
|  | "DynamicAnnotations.cpp", | 
|  | "DynamicAnnotations.h", | 
|  | "EnumClass.h", | 
|  | "FastAllocBase.h", | 
|  | "FastMalloc.cpp", | 
|  | "FastMalloc.h", | 
|  | "FilePrintStream.cpp", | 
|  | "FilePrintStream.h", | 
|  | "Float32Array.h", | 
|  | "Float64Array.h", | 
|  | "Forward.h", | 
|  | "GetPtr.h", | 
|  | "HashCountedSet.h", | 
|  | "HashFunctions.h", | 
|  | "HashIterators.h", | 
|  | "HashMap.h", | 
|  | "HashSet.h", | 
|  | "HashTable.cpp", | 
|  | "HashTable.h", | 
|  | "HashTableDeletedValueType.h", | 
|  | "HashTraits.h", | 
|  | "HexNumber.h", | 
|  | "InstanceCounter.cpp", | 
|  | "InstanceCounter.h", | 
|  | "Int16Array.h", | 
|  | "Int32Array.h", | 
|  | "Int8Array.h", | 
|  | "IntegralTypedArrayBase.h", | 
|  | "LeakAnnotations.h", | 
|  | "LinkedHashSet.h", | 
|  | "LinkedStack.h", | 
|  | "ListHashSet.h", | 
|  | "Locker.h", | 
|  | "MainThread.cpp", | 
|  | "MainThread.h", | 
|  | "MallocZoneSupport.h", | 
|  | "MathExtras.h", | 
|  | "MessageQueue.h", | 
|  | "Noncopyable.h", | 
|  | "NonCopyingSort.h", | 
|  | "NotFound.h", | 
|  | "NullPtr.h", | 
|  | "OwnPtr.h", | 
|  | "OwnPtrCommon.h", | 
|  | "PageAllocator.cpp", | 
|  | "PageAllocator.h", | 
|  | "PartitionAlloc.cpp", | 
|  | "PartitionAlloc.h", | 
|  | "PassOwnPtr.h", | 
|  | "PassRefPtr.h", | 
|  | "PassTraits.h", | 
|  | "PrintStream.cpp", | 
|  | "PrintStream.h", | 
|  | "ProcessID.h", | 
|  | "RawPtr.h", | 
|  | "RefCounted.h", | 
|  | "RefCountedLeakCounter.cpp", | 
|  | "RefCountedLeakCounter.h", | 
|  | "RefPtr.h", | 
|  | "RefVector.h", | 
|  | "SaturatedArithmetic.h", | 
|  | "SizeLimits.cpp", | 
|  | "SpinLock.h", | 
|  | "StaticConstructors.h", | 
|  | "StdLibExtras.h", | 
|  | "StreamBuffer.h", | 
|  | "StringExtras.h", | 
|  | "StringHasher.h", | 
|  | "TemporaryChange.h", | 
|  | "TerminatedArray.h", | 
|  | "TerminatedArrayBuilder.h", | 
|  | "text/ASCIIFastPath.h", | 
|  | "text/AtomicString.cpp", | 
|  | "text/AtomicString.h", | 
|  | "text/AtomicStringHash.h", | 
|  | "text/Base64.cpp", | 
|  | "text/Base64.h", | 
|  | "text/CString.cpp", | 
|  | "text/CString.h", | 
|  | "text/IntegerToStringConversion.h", | 
|  | "text/StringBuffer.h", | 
|  | "text/StringBuilder.cpp", | 
|  | "text/StringBuilder.h", | 
|  | "text/StringConcatenate.h", | 
|  | "text/StringHash.h", | 
|  | "text/StringImpl.cpp", | 
|  | "text/StringImpl.h", | 
|  | "text/StringOperators.h", | 
|  | "text/StringStatics.cpp", | 
|  | "text/StringStatics.h", | 
|  | "text/StringUTF8Adaptor.h", | 
|  | "text/StringView.h", | 
|  | "text/TextCodec.cpp", | 
|  | "text/TextCodec.h", | 
|  | "text/TextCodecASCIIFastPath.h", | 
|  | "text/TextCodecICU.cpp", | 
|  | "text/TextCodecICU.h", | 
|  | "text/TextCodecLatin1.cpp", | 
|  | "text/TextCodecLatin1.h", | 
|  | "text/TextCodecReplacement.cpp", | 
|  | "text/TextCodecReplacement.h", | 
|  | "text/TextCodecUserDefined.cpp", | 
|  | "text/TextCodecUserDefined.h", | 
|  | "text/TextCodecUTF16.cpp", | 
|  | "text/TextCodecUTF16.h", | 
|  | "text/TextCodecUTF8.cpp", | 
|  | "text/TextCodecUTF8.h", | 
|  | "text/TextEncoding.cpp", | 
|  | "text/TextEncoding.h", | 
|  | "text/TextEncodingRegistry.cpp", | 
|  | "text/TextEncodingRegistry.h", | 
|  | "text/TextPosition.cpp", | 
|  | "text/TextPosition.h", | 
|  | "text/WTFString.cpp", | 
|  | "text/WTFString.h", | 
|  | "ThreadIdentifierDataPthreads.cpp", | 
|  | "ThreadIdentifierDataPthreads.h", | 
|  | "Threading.h", | 
|  | "ThreadingPrimitives.h", | 
|  | "ThreadingPthreads.cpp", | 
|  | "ThreadRestrictionVerifier.h", | 
|  | "ThreadSafeRefCounted.h", | 
|  | "ThreadSpecific.h", | 
|  | "TreeNode.h", | 
|  | "TriState.h", | 
|  | "TypedArrayBase.h", | 
|  | "TypeTraits.cpp", | 
|  | "TypeTraits.h", | 
|  | "Uint16Array.h", | 
|  | "Uint32Array.h", | 
|  | "Uint8Array.h", | 
|  | "Uint8ClampedArray.h", | 
|  | "unicode/CharacterNames.h", | 
|  | "unicode/Collator.h", | 
|  | "unicode/icu/CollatorICU.cpp", | 
|  | "unicode/icu/UnicodeIcu.h", | 
|  | "unicode/Unicode.h", | 
|  | "unicode/UTF8.cpp", | 
|  | "unicode/UTF8.h", | 
|  | "Vector.h", | 
|  | "VectorTraits.h", | 
|  | "WeakPtr.h", | 
|  | "WTF.cpp", | 
|  | "WTF.h", | 
|  | "WTFExport.h", | 
|  | "WTFThreadData.cpp", | 
|  | "WTFThreadData.h", | 
|  | ] | 
|  |  | 
|  | configs += [ | 
|  | "//sky/engine:config", | 
|  | "//sky/engine:non_test_config", | 
|  | ] | 
|  |  | 
|  | defines = [ "WTF_IMPLEMENTATION=1" ] | 
|  |  | 
|  | direct_dependent_configs = [ "//sky/engine:features" ] | 
|  |  | 
|  | deps = [ | 
|  | "//third_party/icu", | 
|  | ] | 
|  |  | 
|  | forward_dependent_configs_from = [ "//third_party/icu" ] | 
|  |  | 
|  | if (is_android) { | 
|  | libs = [ "log" ] | 
|  | } | 
|  | } | 
|  |  | 
|  | test("unittests") { | 
|  | output_name = "sky_wtf_unittests" | 
|  |  | 
|  | sources = [ | 
|  | "ArrayBufferBuilderTest.cpp", | 
|  | "CheckedArithmeticTest.cpp", | 
|  | "DequeTest.cpp", | 
|  | "DoubleBufferedDequeTest.cpp", | 
|  | "HashMapTest.cpp", | 
|  | "HashSetTest.cpp", | 
|  | "ListHashSetTest.cpp", | 
|  | "MathExtrasTest.cpp", | 
|  | "PartitionAllocTest.cpp", | 
|  | "RefPtrTest.cpp", | 
|  | "SaturatedArithmeticTest.cpp", | 
|  | "StringExtrasTest.cpp", | 
|  | "StringHasherTest.cpp", | 
|  | "TemporaryChangeTest.cpp", | 
|  | "TreeNodeTest.cpp", | 
|  | "VectorTest.cpp", | 
|  | "testing/WTFTestHelpersTest.cpp", | 
|  | "text/AtomicStringTest.cpp", | 
|  | "text/CStringTest.cpp", | 
|  | "text/StringBufferTest.cpp", | 
|  | "text/StringBuilderTest.cpp", | 
|  | "text/StringImplTest.cpp", | 
|  | "text/StringOperatorsTest.cpp", | 
|  | "text/TextCodecReplacementTest.cpp", | 
|  | "text/TextCodecUTF8Test.cpp", | 
|  | "text/WTFStringTest.cpp", | 
|  | "testing/RunAllTests.cpp", | 
|  | ] | 
|  |  | 
|  | configs += [ "//sky/engine:config" ] | 
|  |  | 
|  | deps = [ | 
|  | ":test_support", | 
|  | ":wtf", | 
|  | "//base", | 
|  | "//base/allocator", | 
|  | "//base/test:test_support", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | ] | 
|  | } | 
|  |  | 
|  | component("test_support") { | 
|  | output_name = "wtf_test_support" | 
|  |  | 
|  | sources = [ | 
|  | "testing/WTFTestHelpers.cpp", | 
|  | "testing/WTFTestHelpers.h", | 
|  | "testing/WTFUnitTestHelpersExport.h", | 
|  | ] | 
|  |  | 
|  | defines = [ "WTF_UNITTEST_HELPERS_IMPLEMENTATION=1" ] | 
|  |  | 
|  | configs += [ | 
|  | "//sky/engine:config", | 
|  | "//sky/engine:non_test_config", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | ":wtf", | 
|  | ] | 
|  | } |