From 9f88a6587386136f574abfdca87ee41f4c506311 Mon Sep 17 00:00:00 2001 From: TolyaTalamanov Date: Tue, 4 Oct 2022 12:10:49 +0000 Subject: [PATCH] Fix functional pipeline tool tests --- .../samples/pipeline_modeling_tool/pipeline.hpp | 8 ++--- .../pipeline_modeling_tool/pipeline_builder.hpp | 4 +-- .../test_pipeline_modeling_tool.py | 37 ++++++++++++++++------ 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp b/modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp index a6c2b86..440f624 100644 --- a/modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp +++ b/modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp @@ -44,9 +44,9 @@ class StopCriteria { public: using Ptr = std::unique_ptr; - virtual void start() = 0; - virtual void iter() = 0; - virtual bool isOver() = 0; + virtual void start() = 0; + virtual void iter() = 0; + virtual bool done() = 0; virtual ~StopCriteria() = default; }; @@ -117,7 +117,7 @@ void Pipeline::run() { m_perf.elapsed = duration_cast(high_resolution_clock::now() - start).count(); m_stop_criteria->iter(); - if (m_stop_criteria->isOver()) { + if (m_stop_criteria->done()) { deinit(); break; } diff --git a/modules/gapi/samples/pipeline_modeling_tool/pipeline_builder.hpp b/modules/gapi/samples/pipeline_modeling_tool/pipeline_builder.hpp index 56e63ff..3615032 100644 --- a/modules/gapi/samples/pipeline_modeling_tool/pipeline_builder.hpp +++ b/modules/gapi/samples/pipeline_modeling_tool/pipeline_builder.hpp @@ -274,7 +274,7 @@ public: m_curr_ts = utils::timestamp(); } - bool isOver() override { + bool done() override { return (m_curr_ts - m_start_ts) >= m_work_time_mcs; } @@ -296,7 +296,7 @@ public: ++m_curr_iters; } - bool isOver() override { + bool done() override { return m_curr_iters == m_num_iters; } diff --git a/modules/gapi/samples/pipeline_modeling_tool/test_pipeline_modeling_tool.py b/modules/gapi/samples/pipeline_modeling_tool/test_pipeline_modeling_tool.py index d56a039..43e979e 100644 --- a/modules/gapi/samples/pipeline_modeling_tool/test_pipeline_modeling_tool.py +++ b/modules/gapi/samples/pipeline_modeling_tool/test_pipeline_modeling_tool.py @@ -26,14 +26,6 @@ def test_error_no_config_exists(): assert 'Failed to open config file: not_existing_cfg.yml' in out -def test_error_no_work_time(): - cfg_file = """\"%YAML:1.0\" """ - - exec_str = '{} --cfg={}'.format(pipeline_modeling_tool, cfg_file) - out = get_output(exec_str) - assert out.startswith('Config must contain field: work_time') - - def test_error_work_time_not_positive(): cfg_file = """\"%YAML:1.0 work_time: -1\" """ @@ -77,7 +69,8 @@ def test_error_no_source(): cfg_file = """\"%YAML:1.0 work_time: 1000 Pipelines: - PL1:\" """ + PL1: + queue_capacity: 1\" """ exec_str = '{} --cfg={}'.format(pipeline_modeling_tool, cfg_file) out = get_output(exec_str) @@ -982,3 +975,29 @@ Pipelines: check(cfg_file, -3) check(cfg_file, 0) + + +def test_error_no_worktime_and_num_iters(): + cfg_file = """\"%YAML:1.0 +Pipelines: + PL1: + source: + name: 'Src' + latency: 20 + output: + dims: [1,1] + precision: 'U8' + nodes: + - name: 'Node0' + type: 'Dummy' + time: 0.2 + output: + dims: [1,2,3,4] + precision: 'U8' + edges: + - from: 'Src' + to: 'Node0'\" """ + + exec_str = '{} --cfg={}'.format(pipeline_modeling_tool, cfg_file) + out = get_output(exec_str) + assert out.startswith('Failed: Pipeline PL1 doesn\'t have stop criteria!') -- 2.7.4