// Copyright 2020 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/libplatform/default-job.h" #include "src/base/platform/condition-variable.h" #include "src/base/platform/platform.h" #include "src/libplatform/default-platform.h" #include "testing/gtest/include/gtest/gtest.h" namespace v8 { namespace platform { namespace default_job_unittest { // Verify that Cancel() on a job stops running the worker task and causes // current workers to yield. TEST(DefaultJobTest, CancelJob) { … } // Verify that Join() on a job contributes to max concurrency and waits for all // workers to return. TEST(DefaultJobTest, JoinJobContributes) { … } // Verify that Join() on a job that uses |worker_count| eventually converges // and doesn't hang. TEST(DefaultJobTest, WorkerCount) { … } // Verify that calling NotifyConcurrencyIncrease() (re-)schedules tasks with the // intended concurrency. TEST(DefaultJobTest, JobNotifyConcurrencyIncrease) { … } // Verify that Join() doesn't contribute if the Job is already finished. TEST(DefaultJobTest, FinishBeforeJoin) { … } // Verify that destroying a DefaultJobHandle triggers a DCHECK if neither Join() // or Cancel() was called. TEST(DefaultJobTest, LeakHandle) { … } TEST(DefaultJobTest, AcquireTaskId) { … } } // namespace default_job_unittest } // namespace platform } // namespace v8