def test_collect_metric_with_dead_container(): id_ = hlp.dummy_container(2) stream = util.client().stats(id_, decode = True, stream = True) time.sleep(1) cgroup.collect_metric(stream) time.sleep(1) assert cgroup.collect_metric(stream) == None hlp.clean_up_container(id_)
def test_collect_metric_with_dead_container(): id_ = hlp.dummy_container(2) stream = util.client().stats(id_, decode=True, stream=True) time.sleep(1) cgroup.collect_metric(stream) time.sleep(1) assert cgroup.collect_metric(stream) == None hlp.clean_up_container(id_)
def test_executing_container(): out_dir = tempfile.mkdtemp() cnt = exe.create_container(IMAGE, biobox_cfg(hlp.short_read_fastq()), {"output": out_dir}, "default", {"detach": False}) id_ = cnt['Id'] util.client().start(id_) util.client().wait(id_) assert funcy.get_in(util.client().inspect_container(id_), ['State', 'ExitCode']) == 0 assert os.path.isfile(os.path.join(out_dir, 'contigs.fa')) hlp.clean_up_container(id_)
def test_create_container_with_cgroup_data(): # Currently {'cpuset' : "0"} is too hard to test because I don't know # how to get the CPU IDs for the machine being used for testing args = [{'cpu_shares' : 1}, {'mem_limit' : 10000000}] out_dir = tempfile.mkdtemp() for arg in args: cnt = exe.create_container( IMAGE, CONFIG, {"output" : out_dir}, "default", arg) helper.clean_up_container(cnt['Id'])
def test_collect_metrics(): id_ = hlp.dummy_container(10, False) stats = cgroup.collect_runtime_metrics(id_, interval=2) hlp.clean_up_container(id_) cgroup_time = funcy.rpartial(funcy.get_in, ['read']) timepoints = list(map(cgroup_time, stats)) assert len(timepoints) >= 3 assert len(timepoints) < 5 duration = cgroup.time_diff_in_seconds(timepoints[0], timepoints[-1]) assert duration >= 6 assert duration < 10
def test_executing_container(): out_dir = tempfile.mkdtemp() cnt = exe.create_container( IMAGE, biobox_cfg(hlp.short_read_fastq()), {"output" : out_dir}, "default", {"detach" : False}) id_ = cnt['Id'] util.client().start(id_) util.client().wait(id_) assert funcy.get_in(util.client().inspect_container(id_), ['State', 'ExitCode']) == 0 assert os.path.isfile(os.path.join(out_dir, 'contigs.fa')) hlp.clean_up_container(id_)
def test_collect_metrics(): id_ = hlp.dummy_container(10, False) stats = cgroup.collect_runtime_metrics(id_, interval = 2) hlp.clean_up_container(id_) cgroup_time = funcy.rpartial(funcy.get_in, ['read']) timepoints = list(map(cgroup_time, stats)) assert len(timepoints) >= 3 assert len(timepoints) < 5 duration = cgroup.time_diff_in_seconds(timepoints[0], timepoints[-1]) assert duration >= 6 assert duration < 10
def test_collect_metric_with_running_container(): id_ = hlp.dummy_container(10, False) stream = util.client().stats(id_, decode=True, stream=True) assert 'read' in cgroup.collect_metric(stream) util.client().kill(id_) hlp.clean_up_container(id_)
def test_did_container_succesfully_exit(): id_ = hlp.dummy_container(0.01) assert ctn.did_exit_succcessfully(id_) hlp.clean_up_container(id_)
def test_is_container_running(): id_ = hlp.dummy_container(10, False) time.sleep(0.1) assert ctn.is_running(id_) util.client().kill(id_) hlp.clean_up_container(id_)
def test_is_not_container_running(): id_ = hlp.dummy_container('bad-argument') assert not ctn.is_running(id_) hlp.clean_up_container(id_)
def test_did_container_unssuccesfully_exit(): id_ = hlp.dummy_container('bad-argument') assert not ctn.did_exit_succcessfully(id_) hlp.clean_up_container(id_)
def test_collect_metric_with_running_container(): id_ = hlp.dummy_container(10, False) stream = util.client().stats(id_, decode = True, stream = True) assert 'read' in cgroup.collect_metric(stream) util.client().kill(id_) hlp.clean_up_container(id_)