コード例 #1
0
    def test_status_is_shouldrun_with_target_that_should_not_run(self):
        self.backend.status.return_value = Status.RUNNING
        self.graph.should_run.return_value = False

        criteria = Criteria(status='shouldrun')
        f = StatusFilter(self.graph, self.backend, criteria)
        self.assertFalse(f.predicate(self.target))
コード例 #2
0
    def test_status_is_completed_with_running_target(self):
        self.backend.status.return_value = Status.RUNNING
        self.graph.should_run.return_value = True

        criteria = Criteria(status='completed')
        f = StatusFilter(self.graph, self.backend, criteria)
        self.assertFalse(f.predicate(self.target))
コード例 #3
0
    def test_status_is_shouldrun_with_target_that_should_run(self):
        self.backend.status.return_value = Status.UNKNOWN
        self.graph.should_run.return_value = True

        criteria = Criteria(status='shouldrun')
        f = StatusFilter(self.graph, self.backend, criteria)
        self.assertTrue(f.predicate(self.target))
コード例 #4
0
ファイル: test_filtering.py プロジェクト: mailund/gwf
def test_filter_status_completed(scheduler):
    scheduler.backend.status.return_value = Status.UNKNOWN

    status_filter = StatusFilter(scheduler=scheduler, status=[TargetStatus.COMPLETED])
    target = Target(
        "TestTarget", inputs=[], outputs=[], options={}, working_dir="/some/dir"
    )

    status_filter.scheduler.should_run.return_value = False
    assert list(status_filter.apply([target])) == [target]

    status_filter.scheduler.should_run.return_value = True
    assert list(status_filter.apply([target])) == []
コード例 #5
0
ファイル: test_filtering.py プロジェクト: mailund/gwf
def test_filter_status_submitted(scheduler):
    status_filter = StatusFilter(scheduler=scheduler, status=[TargetStatus.SUBMITTED])
    target = Target(
        "TestTarget", inputs=[], outputs=[], options={}, working_dir="/some/dir"
    )

    status_filter.scheduler.backend.status.return_value = Status.UNKNOWN
    assert list(status_filter.apply([target])) == []

    status_filter.scheduler.backend.status.return_value = Status.SUBMITTED
    assert list(status_filter.apply([target])) == [target]

    status_filter.scheduler.backend.status.return_value = Status.RUNNING
    assert list(status_filter.apply([target])) == []
コード例 #6
0
ファイル: test_filtering.py プロジェクト: mailund/gwf
def test_filter_status_shouldrun(scheduler):
    status_filter = StatusFilter(scheduler=scheduler, status=[TargetStatus.SHOULDRUN])
    target = Target(
        "TestTarget", inputs=[], outputs=[], options={}, working_dir="/some/dir"
    )

    status_filter.scheduler.backend.status.return_value = Status.UNKNOWN
    status_filter.scheduler.should_run.return_value = False
    assert list(status_filter.apply([target])) == []

    status_filter.scheduler.backend.status.return_value = Status.UNKNOWN
    status_filter.scheduler.should_run.return_value = True
    assert list(status_filter.apply([target])) == [target]

    status_filter.scheduler.backend.status.return_value = Status.RUNNING
    status_filter.scheduler.should_run.return_value = False
    assert list(status_filter.apply([target])) == []

    status_filter.scheduler.backend.status.return_value = Status.RUNNING
    status_filter.scheduler.should_run.return_value = True
    assert list(status_filter.apply([target])) == []

    status_filter.scheduler.backend.status.return_value = Status.SUBMITTED
    status_filter.scheduler.should_run.return_value = False
    assert list(status_filter.apply([target])) == []

    status_filter.scheduler.backend.status.return_value = Status.SUBMITTED
    status_filter.scheduler.should_run.return_value = True
    assert list(status_filter.apply([target])) == []
コード例 #7
0
ファイル: test_filtering.py プロジェクト: jbethune/gwf
def test_filter_status(status, result):
    status_filter = StatusFilter(
        status_provider=status_provider,
        status=status,
    )
    assert set(status_filter.apply(targets)) == set(result)
コード例 #8
0
    def test_status_is_submitted_with_target_that_is_not_submitted(self):
        self.backend.status.return_value = Status.UNKNOWN

        criteria = Criteria(status='submitted')
        f = StatusFilter(self.graph, self.backend, criteria)
        self.assertFalse(f.predicate(self.target))
コード例 #9
0
    def test_status_is_running_with_target_that_is_running(self):
        self.backend.status.return_value = Status.RUNNING

        criteria = Criteria(status='running')
        f = StatusFilter(self.graph, self.backend, criteria)
        self.assertTrue(f.predicate(self.target))
コード例 #10
0
 def test_should_use_filter(self):
     criteria = Criteria(status='running')
     f = StatusFilter(self.graph, self.backend, criteria)
     self.assertTrue(f.use())
コード例 #11
0
 def test_should_not_use_filter(self):
     criteria = Criteria(status=None)
     f = StatusFilter(self.graph, self.backend, criteria)
     self.assertFalse(f.use())