Example #1
0
def test_main(db, data1):
    slurm2sql.main(['dummy'], raw_sacct=data1, db=db)
    r = db.execute("SELECT JobName, Start "
                   "FROM slurm WHERE JobID=43974388;").fetchone()
    assert r[0] == 'spawner-jupyterhub'
    assert r[1] == 1564601354
    assert db.execute("SELECT count(*) from slurm;").fetchone()[0] == 5
Example #2
0
def test_history_resume_timestamp(db, data1, caplog):
    """Test --history-resume's exact timestamp"""
    # Run once to get an update_time
    slurm2sql.main(['dummy', '--history-days=1'], raw_sacct=data1, db=db)
    update_time = slurm2sql.get_last_timestamp(db)
    caplog.clear()
    # Run again and make sure that we filter based on that update_time
    slurm2sql.main(['dummy', '--history-resume'], raw_sacct=data1, db=db)
    assert slurm2sql.slurm_timestamp(update_time) in caplog.text
Example #3
0
def test_history_resume_basic(db, data1):
    """Test --history-resume"""
    # Run it once.  Is the update_time approximately now?
    slurm2sql.main(['dummy', '--history-days=1'], raw_sacct=data1, db=db)
    update_time = slurm2sql.get_last_timestamp(db)
    assert abs(update_time - time.time()) < 5
    # Wait 1s, is update time different?
    time.sleep(1.1)
    slurm2sql.main(['dummy', '--history-resume'], raw_sacct=data1, db=db)
    assert update_time != slurm2sql.get_last_timestamp(db)
Example #4
0
def test_time(db, data1):
    slurm2sql.main(['dummy'], raw_sacct=data1, db=db)
    r = db.execute(
        "SELECT Time FROM slurm WHERE JobID=43974388;").fetchone()[0]
    assert r == unixtime('2019-08-01T02:02:39')
    # Submit defined, Start defined, End='Unknown' --> timestamp should be "now"
    r = db.execute(
        "SELECT Time FROM slurm WHERE JobID=43977780;").fetchone()[0]
    assert r >= time.time() - 5
    # Job step: Submit defined, Start='Unknown', End='Unknown' --> Time should equal Submit
    r = db.execute("SELECT Time FROM slurm WHERE JobIDSlurm='43977780.batch';"
                   ).fetchone()[0]
    assert r == unixtime('2019-08-01T00:35:27')
Example #5
0
def test_quiet(db, data1, caplog, capfd):
    slurm2sql.main(['dummy', '-q'], raw_sacct=data1, db=db)
    slurm2sql.main(['dummy', '--history=1-5', '-q'], raw_sacct=data1, db=db)
    slurm2sql.main(['dummy', '--history-days=1', '-q'], raw_sacct=data1, db=db)
    slurm2sql.main(['dummy', '--history-start=2019-01-01', '-q'],
                   raw_sacct=data1,
                   db=db)
    #assert caplog.text == ""
    captured = capfd.readouterr()
    assert captured.out == ""
    assert captured.err == ""
Example #6
0
def test_verbose(db, data1, caplog):
    slurm2sql.main(['dummy', '--history-days=1', '-v'], raw_sacct=data1, db=db)
    assert time.strftime("%Y-%m-%d") in caplog.text
Example #7
0
def test_jobs_only(db, data1):
    """--jobs-only gives two rows"""
    slurm2sql.main(['dummy', '--jobs-only'], raw_sacct=data1, db=db)
    assert db.execute("SELECT count(*) from slurm;").fetchone()[0] == 2