Exemple #1
0
def test_state_retrylimit(tmpdir):
    request = Request(0, 1, script='exit 75', path=str(tmpdir))
    request.save()
    with open(os.path.join(request.path, 'attempt'), 'w') as f:
        print(Request.MAX_TRIES, file=f)
    request.execute()
    assert request.state == Request.RETRYLIMIT
Exemple #2
0
def test_state_should_tolerate_empty_exitcode_file(tmpdir):
    request = Request(0, 1, path=str(tmpdir))
    request.save()
    with open(str(tmpdir / 'exitcode'), 'w') as f:
        print('', file=f)
    assert request.exitcode is None
    assert request.state == Request.PENDING
Exemple #3
0
def test_applicable_postpone(tmpdir):
    request = Request(0,
                      1,
                      script='true',
                      applicable='exit 69',
                      path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.POSTPONE
Exemple #4
0
def test_applicable_error(tmpdir):
    request = Request(0,
                      1,
                      script='true',
                      applicable='exit 2',
                      path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.ERROR
    assert request.exitcode == 2
Exemple #5
0
def test_not_applicable_but_success(tmpdir):
    request = Request(0,
                      1,
                      script='true',
                      applicable='exit 1',
                      path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.SUCCESS
    assert request.exitcode == 0
Exemple #6
0
def test_state_pending(tmpdir):
    with freezegun.freeze_time('2011-07-05 08:37:00', tz_offset=0):
        request = Request(0,
                          1,
                          path=str(tmpdir),
                          starttime=datetime.datetime(2011,
                                                      7,
                                                      5,
                                                      8,
                                                      38,
                                                      tzinfo=pytz.utc))
        request.save()
        assert request.state == Request.PENDING
Exemple #7
0
def test_execute_should_just_record_time_if_no_script(tmpdir):
    with freezegun.freeze_time('2011-07-27 07:35:00', tz_offset=0):
        request = Request(0, 1, path=str(tmpdir))
        request.save()
        request.execute()
        assert request.state == Request.SUCCESS
        assert request.started == datetime.datetime(2011,
                                                    7,
                                                    27,
                                                    7,
                                                    35,
                                                    tzinfo=pytz.utc)
        assert request.stopped == datetime.datetime(2011,
                                                    7,
                                                    27,
                                                    7,
                                                    35,
                                                    tzinfo=pytz.utc)
Exemple #8
0
def test_exitcode_should_read_last_line(tmpdir):
    request = Request(0, 1, path=str(tmpdir))
    request.save()
    with open(str(tmpdir / 'exitcode'), 'w') as f:
        print('0\n2', file=f)
    assert request.exitcode == 2
Exemple #9
0
def test_save(tmpdir):
    r = Request(19, 980, path=str(tmpdir / '19'))
    r.save()
    assert os.path.exists(str(tmpdir / '19/data')) is True
Exemple #10
0
def test_state_error(tmpdir):
    request = Request(0, 1, script='exit 1', path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.ERROR
Exemple #11
0
def test_state_tempfail(tmpdir):
    request = Request(0, 1, script='exit 75', path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.TEMPFAIL
Exemple #12
0
def test_state_success(tmpdir):
    request = Request(0, 1, script='exit 0', path=str(tmpdir))
    request.save()
    request.execute()
    assert request.state == Request.SUCCESS
Exemple #13
0
def test_state_running(tmpdir):
    request = Request(0, 1, path=str(tmpdir))
    request.save()
    with open(str(tmpdir / 'started'), 'w') as f:
        print(gocept.net.utils.now(), file=f)
    assert request.state == Request.RUNNING