| Line |
Branch |
Decision |
Call |
Exec |
Source |
| 1 |
|
|
|
|
#include "TaskExecutor.h" |
| 2 |
|
|
|
|
|
| 3 |
|
|
|
|
#include <shared_mutex> |
| 4 |
|
|
|
|
|
| 5 |
|
|
|
|
#include <QFuture> |
| 6 |
|
|
|
|
#include <QFutureWatcher> |
| 7 |
|
|
|
|
|
| 8 |
|
|
|
|
using namespace CLO3D; |
| 9 |
|
|
|
|
|
| 10 |
|
|
|
17 |
void TaskExecutor::wait(const QString& taskName) { |
| 11 |
|
|
|
17 |
BaseTask* task = nullptr; |
| 12 |
|
|
|
|
{ |
| 13 |
1/2
✓ Branch 4 taken 17 times.
✗ Branch 5 not taken.
|
|
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
|
17 |
std::shared_lock lock(mutex_); |
| 14 |
2/4
✓ Branch 6 taken 17 times.
✗ Branch 7 not taken.
✓ Branch 10 taken 17 times.
✗ Branch 11 not taken.
|
|
10/12
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✗ Call 14 not invoked.
✗ Call 15 not invoked.
|
17 |
const auto it = tasks_.find(taskName.toStdString()); |
| 15 |
2/2
✓ Branch 8 taken 1 times.
✓ Branch 9 taken 16 times.
|
2/2
✓ Decision 'true' taken 1 times.
✓ Decision 'false' taken 16 times.
|
8/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
|
17 |
if (it == tasks_.end()) return; |
| 16 |
|
|
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
|
16 |
task = it->second.get(); |
| 17 |
2/2
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 1 times.
|
|
1/2
✓ Call 0 invoked.
✗ Call 3 not invoked.
|
17 |
} |
| 18 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
16 |
task->wait(); |
| 19 |
|
|
|
|
} |
| 20 |
|
|
|
|
|
| 21 |
|
|
|
13 |
void TaskExecutor::submit(std::unique_ptr<BaseTask> task) { |
| 22 |
|
|
1/1
|
13 |
BaseTask* t = task.get(); |
| 23 |
1/2
✓ Branch 14 taken 13 times.
✗ Branch 15 not taken.
|
|
22/30
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✗ Call 24 not invoked.
✗ Call 25 not invoked.
✗ Call 26 not invoked.
✗ Call 27 not invoked.
✗ Call 28 not invoked.
✗ Call 29 not invoked.
✗ Call 30 not invoked.
✗ Call 31 not invoked.
|
39 |
submit(std::move(task), [] -> void {}, [](const BaseTaskException&) -> void {}); |
| 24 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
13 |
t->wait(); |
| 25 |
|
|
|
11 |
} |
| 26 |
|
|
|
|
|
| 27 |
|
|
|
22 |
void TaskExecutor::submit(std::unique_ptr<BaseTask> task, const std::function<void()>& onSuccess, const std::function<void(const BaseTaskException&)>& onException) { |
| 28 |
|
|
1/1
|
22 |
BaseTask* t = task.get(); |
| 29 |
|
|
|
|
{ |
| 30 |
1/2
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
|
|
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
|
22 |
std::unique_lock lock(mutex_); |
| 31 |
2/4
✓ Branch 6 taken 22 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 22 times.
✗ Branch 10 not taken.
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 8 invoked.
|
22 |
const auto name = task->name().toStdString(); |
| 32 |
1/2
✓ Branch 6 taken 22 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
22 |
tasks_.emplace(name, std::move(task)); |
| 33 |
|
|
2/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
|
22 |
} |
| 34 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
22 |
t->run(onSuccess, onException); |
| 35 |
|
|
|
22 |
} |
| 36 |
|
|
|
|
|