mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 00:12:08 +08:00
32 lines
990 B
Python
32 lines
990 B
Python
import subprocess
|
|
|
|
from galaxy.job_metrics.instrumenters.core import (
|
|
CorePlugin,
|
|
GALAXY_MEMORY_MB_KEY,
|
|
GALAXY_SLOTS_KEY,
|
|
)
|
|
from galaxy.util import listify
|
|
|
|
|
|
def test_core_instrumentation(tmpdir):
|
|
core_plugin = CorePlugin()
|
|
env = {"GALAXY_SLOTS": "4", "GALAXY_MEMORY_MB": "1024"}
|
|
_run_plugin(core_plugin, tmpdir, env)
|
|
properties = core_plugin.job_properties(1, tmpdir)
|
|
assert properties[GALAXY_SLOTS_KEY] == 4
|
|
assert properties[GALAXY_MEMORY_MB_KEY] == 1024
|
|
|
|
|
|
def _run_plugin(plugin, work_dir, env=None):
|
|
setup_commands = plugin.pre_execute_instrument(work_dir)
|
|
teardown_commands = plugin.post_execute_instrument(work_dir)
|
|
if setup_commands is not None:
|
|
_run(setup_commands, work_dir, env)
|
|
if teardown_commands is not None:
|
|
_run(teardown_commands, work_dir, env)
|
|
|
|
|
|
def _run(commands, work_dir, env):
|
|
command_str = "\n".join(listify(commands))
|
|
return subprocess.run(command_str, shell=True, cwd=work_dir, env=env)
|