Add --threads to tests binary, to run non-GPU tests on multiple cores.
On my quad-core laptop I can get about a 3x speedup:
Debug, --threads 0 40.99s
Debug, --threads 8 14.39s
Release, --threads 0 8.24s
Release, --threads 8 2.80s
I also removed some unused Test.{h,cpp} APIs and refactored a little to make
things thread-safer.
BUG=
R=borenet@google.com, djsollen@google.com, scroggo@google.com, reed@google.com
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/13855007
git-svn-id: http://skia.googlecode.com/svn/trunk@8763 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/GrContextFactoryTest.cpp b/tests/GrContextFactoryTest.cpp
index 80f1418..02b8c28 100644
--- a/tests/GrContextFactoryTest.cpp
+++ b/tests/GrContextFactoryTest.cpp
@@ -11,26 +11,28 @@
#if SK_SUPPORT_GPU
#include "GrContextFactory.h"
-static void test_context_factory(skiatest::Reporter* reporter) {
- GrContextFactory contextFactory;
+static void test_context_factory(skiatest::Reporter* reporter,
+ GrContextFactory* contextFactory) {
+ // Reset in case some other test has been using it first.
+ contextFactory->destroyContexts();
// Before we ask for a context, we expect the GL context to not be there.
REPORTER_ASSERT(reporter,
- NULL == contextFactory.getGLContext(GrContextFactory::kNative_GLContextType));
+ NULL == contextFactory->getGLContext(GrContextFactory::kNative_GLContextType));
// After we ask for a context, we expect that the GL context to be there.
- contextFactory.get(GrContextFactory::kNative_GLContextType);
+ contextFactory->get(GrContextFactory::kNative_GLContextType);
REPORTER_ASSERT(reporter,
- contextFactory.getGLContext(GrContextFactory::kNative_GLContextType) != NULL);
+ contextFactory->getGLContext(GrContextFactory::kNative_GLContextType) != NULL);
// If we did not ask for a context with the particular GL context, we would
// expect the particular GL context to not be there.
REPORTER_ASSERT(reporter,
- NULL == contextFactory.getGLContext(GrContextFactory::kNull_GLContextType));
+ NULL == contextFactory->getGLContext(GrContextFactory::kNull_GLContextType));
}
#include "TestClassDef.h"
-DEFINE_TESTCLASS("GrContextFactory", GrContextFactoryClass, test_context_factory);
+DEFINE_GPUTESTCLASS("GrContextFactory", GrContextFactoryClass, test_context_factory);
#endif