Let DM run unit tests.
- refactor GYPs and a few flags
- make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs
- add a few more UI features to make DM more like tests
I believe this makes the program 'tests' obsolete.
It should be somewhat faster to run the two sets together than running the old binaries serially:
- serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU)
- together: 27s (6m21s CPU)
Next up is to incorporate benches. I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet.
Tested: out/Debug/tests && out/Debug/dm && echo ok
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=13586
R=reed@google.com, bsalomon@google.com, mtklein@google.com, tfarina@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/178273002
git-svn-id: http://skia.googlecode.com/svn/trunk@13592 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/tests.gypi b/gyp/tests.gypi
new file mode 100644
index 0000000..f5143e2
--- /dev/null
+++ b/gyp/tests.gypi
@@ -0,0 +1,181 @@
+{
+ 'include_dirs': [
+ '../src/core',
+ '../src/effects',
+ '../src/image',
+ '../src/lazy',
+ '../src/images',
+ '../src/pathops',
+ '../src/pdf',
+ '../src/pipe/utils',
+ '../src/utils',
+ '../src/utils/debugger',
+ '../tools/',
+
+ # Needed for TDStackNesterTest.
+ '../experimental/PdfViewer',
+ '../experimental/PdfViewer/src',
+ ],
+ 'dependencies': [
+ 'skia_lib.gyp:skia_lib',
+ 'experimental.gyp:experimental',
+ 'flags.gyp:flags',
+ 'pdf.gyp:pdf',
+ 'tools.gyp:picture_utils',
+ ],
+ 'sources': [
+ '../tests/Test.cpp',
+ '../tests/Test.h',
+
+ '../tests/AAClipTest.cpp',
+ '../tests/ARGBImageEncoderTest.cpp',
+ '../tests/AndroidPaintTest.cpp',
+ '../tests/AnnotationTest.cpp',
+ '../tests/AtomicTest.cpp',
+ '../tests/BBoxHierarchyTest.cpp',
+ '../tests/BitSetTest.cpp',
+ '../tests/BitmapCopyTest.cpp',
+ '../tests/BitmapGetColorTest.cpp',
+ '../tests/BitmapHasherTest.cpp',
+ '../tests/BitmapHeapTest.cpp',
+ '../tests/BitmapTest.cpp',
+ '../tests/BlendTest.cpp',
+ '../tests/BlitRowTest.cpp',
+ '../tests/BlurTest.cpp',
+ '../tests/CachedDecodingPixelRefTest.cpp',
+ '../tests/CanvasStateTest.cpp',
+ '../tests/CanvasTest.cpp',
+ '../tests/ChecksumTest.cpp',
+ '../tests/ClampRangeTest.cpp',
+ '../tests/ClipCacheTest.cpp',
+ '../tests/ClipCubicTest.cpp',
+ '../tests/ClipStackTest.cpp',
+ '../tests/ClipperTest.cpp',
+ '../tests/ColorFilterTest.cpp',
+ '../tests/ColorPrivTest.cpp',
+ '../tests/ColorTest.cpp',
+ '../tests/DataRefTest.cpp',
+ '../tests/DeferredCanvasTest.cpp',
+ '../tests/DequeTest.cpp',
+ '../tests/DeviceLooperTest.cpp',
+ '../tests/DiscardableMemoryPool.cpp',
+ '../tests/DiscardableMemoryTest.cpp',
+ '../tests/DocumentTest.cpp',
+ '../tests/DrawBitmapRectTest.cpp',
+ '../tests/DrawPathTest.cpp',
+ '../tests/DrawTextTest.cpp',
+ '../tests/DynamicHashTest.cpp',
+ '../tests/EmptyPathTest.cpp',
+ '../tests/ErrorTest.cpp',
+ '../tests/FillPathTest.cpp',
+ '../tests/FitsInTest.cpp',
+ '../tests/FlatDataTest.cpp',
+ '../tests/FlateTest.cpp',
+ '../tests/FontHostStreamTest.cpp',
+ '../tests/FontHostTest.cpp',
+ '../tests/FontMgrTest.cpp',
+ '../tests/FontNamesTest.cpp',
+ '../tests/FrontBufferedStreamTest.cpp',
+ '../tests/GLInterfaceValidation.cpp',
+ '../tests/GLProgramsTest.cpp',
+ '../tests/GeometryTest.cpp',
+ '../tests/GifTest.cpp',
+ '../tests/GpuBitmapCopyTest.cpp',
+ '../tests/GpuColorFilterTest.cpp',
+ '../tests/GpuDrawPathTest.cpp',
+ '../tests/GrBinHashKeyTest.cpp',
+ '../tests/GrContextFactoryTest.cpp',
+ '../tests/GrDrawTargetTest.cpp',
+ '../tests/GrMemoryPoolTest.cpp',
+ '../tests/GrRedBlackTreeTest.cpp',
+ '../tests/GrSurfaceTest.cpp',
+ '../tests/GrTBSearchTest.cpp',
+ '../tests/GradientTest.cpp',
+ '../tests/HashCacheTest.cpp',
+ '../tests/ImageCacheTest.cpp',
+ '../tests/ImageDecodingTest.cpp',
+ '../tests/ImageFilterTest.cpp',
+ '../tests/InfRectTest.cpp',
+ '../tests/JpegTest.cpp',
+ '../tests/LListTest.cpp',
+ '../tests/LayerDrawLooperTest.cpp',
+ '../tests/MD5Test.cpp',
+ '../tests/MallocPixelRefTest.cpp',
+ '../tests/MathTest.cpp',
+ '../tests/Matrix44Test.cpp',
+ '../tests/MatrixClipCollapseTest.cpp',
+ '../tests/MatrixTest.cpp',
+ '../tests/MemoryTest.cpp',
+ '../tests/MemsetTest.cpp',
+ '../tests/MessageBusTest.cpp',
+ '../tests/MetaDataTest.cpp',
+ '../tests/MipMapTest.cpp',
+ '../tests/OSPathTest.cpp',
+ '../tests/OnceTest.cpp',
+ '../tests/PDFPrimitivesTest.cpp',
+ '../tests/PackBitsTest.cpp',
+ '../tests/PaintTest.cpp',
+ '../tests/ParsePathTest.cpp',
+ '../tests/PathCoverageTest.cpp',
+ '../tests/PathMeasureTest.cpp',
+ '../tests/PathTest.cpp',
+ '../tests/PathUtilsTest.cpp',
+ '../tests/PictureTest.cpp',
+ '../tests/PictureUtilsTest.cpp',
+ '../tests/PixelRefTest.cpp',
+ '../tests/PointTest.cpp',
+ '../tests/PremulAlphaRoundTripTest.cpp',
+ '../tests/QuickRejectTest.cpp',
+ '../tests/RTreeTest.cpp',
+ '../tests/RandomTest.cpp',
+ '../tests/ReadPixelsTest.cpp',
+ '../tests/ReadWriteAlphaTest.cpp',
+ '../tests/Reader32Test.cpp',
+ '../tests/RefCntTest.cpp',
+ '../tests/RefDictTest.cpp',
+ '../tests/RegionTest.cpp',
+ '../tests/ResourceCacheTest.cpp',
+ '../tests/RoundRectTest.cpp',
+ '../tests/RuntimeConfigTest.cpp',
+ '../tests/SHA1Test.cpp',
+ '../tests/ScalarTest.cpp',
+ '../tests/SerializationTest.cpp',
+ '../tests/ShaderImageFilterTest.cpp',
+ '../tests/ShaderOpacityTest.cpp',
+ '../tests/SkBase64Test.cpp',
+ '../tests/SortTest.cpp',
+ '../tests/SrcOverTest.cpp',
+ '../tests/StreamTest.cpp',
+ '../tests/StringTest.cpp',
+ '../tests/StrokeTest.cpp',
+ '../tests/SurfaceTest.cpp',
+ '../tests/TLSTest.cpp',
+ '../tests/TSetTest.cpp',
+ '../tests/TestSize.cpp',
+ '../tests/TileGridTest.cpp',
+ '../tests/ToUnicode.cpp',
+ '../tests/TracingTest.cpp',
+ '../tests/Typeface.cpp',
+ '../tests/UnicodeTest.cpp',
+ '../tests/UnitTestTest.cpp',
+ '../tests/UtilsTest.cpp',
+ '../tests/WArrayTest.cpp',
+ '../tests/WritePixelsTest.cpp',
+ '../tests/Writer32Test.cpp',
+ '../tests/XfermodeTest.cpp',
+
+ '../tests/MatrixClipCollapseTest.cpp',
+ '../src/utils/debugger/SkDrawCommand.h',
+ '../src/utils/debugger/SkDrawCommand.cpp',
+ '../src/utils/debugger/SkDebugCanvas.h',
+ '../src/utils/debugger/SkDebugCanvas.cpp',
+ '../src/utils/debugger/SkObjectParser.h',
+ '../src/utils/debugger/SkObjectParser.cpp',
+
+ '../tests/PipeTest.cpp',
+ '../src/pipe/utils/SamplePipeControllers.cpp',
+
+ '../tests/TDStackNesterTest.cpp',
+ '../experimental/PdfViewer/src/SkTDStackNester.h',
+ ],
+}