| Index: test/cctest/test-libplatform-worker-thread.cc
|
| diff --git a/src/default-platform.cc b/test/cctest/test-libplatform-worker-thread.cc
|
| similarity index 71%
|
| rename from src/default-platform.cc
|
| rename to test/cctest/test-libplatform-worker-thread.cc
|
| index ef3c4ebd450bbc63ae99b4534a22fa5bd67a2f39..652edb67ff95ac067102c8b57d572aaf217ded72 100644
|
| --- a/src/default-platform.cc
|
| +++ b/test/cctest/test-libplatform-worker-thread.cc
|
| @@ -27,30 +27,36 @@
|
|
|
| #include "v8.h"
|
|
|
| -#include "default-platform.h"
|
| +#include "cctest.h"
|
| +#include "libplatform/task-queue.h"
|
| +#include "libplatform/worker-thread.h"
|
| +#include "test-libplatform.h"
|
|
|
| -namespace v8 {
|
| -namespace internal {
|
| +using namespace v8::internal;
|
|
|
|
|
| -DefaultPlatform::DefaultPlatform() {}
|
| +TEST(WorkerThread) {
|
| + TaskQueue queue;
|
|
|
| + TestTask* task1 = new TestTask(true);
|
| + TestTask* task2 = new TestTask(true);
|
| + TestTask* task3 = new TestTask(true);
|
| + TestTask* task4 = new TestTask(true);
|
|
|
| -DefaultPlatform::~DefaultPlatform() {}
|
| -
|
| -void DefaultPlatform::CallOnBackgroundThread(Task *task,
|
| - ExpectedRuntime expected_runtime) {
|
| - // TODO(jochen): implement.
|
| - task->Run();
|
| - delete task;
|
| -}
|
| + WorkerThread thread1(&queue);
|
| + WorkerThread thread2(&queue);
|
|
|
| + thread1.Start();
|
| + thread2.Start();
|
|
|
| -void DefaultPlatform::CallOnForegroundThread(v8::Isolate* isolate, Task* task) {
|
| - // TODO(jochen): implement.
|
| - task->Run();
|
| - delete task;
|
| -}
|
| + queue.Append(task1);
|
| + queue.Append(task2);
|
| + queue.Append(task3);
|
| + queue.Append(task4);
|
|
|
| + // TaskQueue ASSERTs that it is empty in its dtor.
|
| + queue.Terminate();
|
|
|
| -} } // namespace v8::internal
|
| + thread1.Join();
|
| + thread2.Join();
|
| +}
|
|
|