| Index: Source/web/tests/WebUnitTests.cpp
|
| diff --git a/Source/web/tests/WebUnitTests.cpp b/Source/web/tests/WebUnitTests.cpp
|
| index f07b93718866c8b95a1a58d22115b7e20627c7c5..04ac4e8bdd1c781811b2a0d8b15b56932a8fc935 100644
|
| --- a/Source/web/tests/WebUnitTests.cpp
|
| +++ b/Source/web/tests/WebUnitTests.cpp
|
| @@ -31,29 +31,30 @@
|
| #include "config.h"
|
| #include "web/tests/WebUnitTests.h"
|
|
|
| -// FIXME: Can we move this to webkit/support and fix the layering violation?
|
| +#include <base/bind.h>
|
| +#include <base/message_loop/message_loop.h>
|
| +#include <base/run_loop.h>
|
| +#include <base/test/launcher/unit_test_launcher.h>
|
| #include <base/test/test_suite.h>
|
|
|
| -static TestSuite* testSuite = 0;
|
| -
|
| namespace blink {
|
|
|
| -void InitTestSuite(int argc, char** argv)
|
| -{
|
| - testSuite = new TestSuite(argc, argv);
|
| -}
|
| +namespace {
|
|
|
| -int RunAllUnitTests()
|
| +int runHelper(TestSuite* testSuite, void (*preTestHook)(void), void (*postTestHook)(void))
|
| {
|
| + preTestHook();
|
| int result = testSuite->Run();
|
| -
|
| + postTestHook();
|
| return result;
|
| }
|
|
|
| -void DeleteTestSuite()
|
| +} // namespace
|
| +
|
| +int runWebTests(int argc, char** argv, void (*preTestHook)(void), void (*postTestHook)(void))
|
| {
|
| - delete testSuite;
|
| - testSuite = 0;
|
| + TestSuite testSuite(argc, argv);
|
| + return base::LaunchUnitTests(argc, argv, base::Bind(&runHelper, base::Unretained(&testSuite), preTestHook, postTestHook));
|
| }
|
|
|
| } // namespace blink
|
|
|