本文整理汇总了Python中radical.entk.Task.move_input_data方法的典型用法代码示例。如果您正苦于以下问题:Python Task.move_input_data方法的具体用法?Python Task.move_input_data怎么用?Python Task.move_input_data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类radical.entk.Task
的用法示例。
在下文中一共展示了Task.move_input_data方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_task_to_dict
# 需要导入模块: from radical.entk import Task [as 别名]
# 或者: from radical.entk.Task import move_input_data [as 别名]
def test_task_to_dict():
"""
**Purpose**: Test if the 'to_dict' function of Task class converts all expected attributes of the Task into a
dictionary
"""
t = Task()
d = t.to_dict()
assert d == { 'uid': None,
'name': None,
'state': states.INITIAL,
'state_history': [states.INITIAL],
'pre_exec': [],
'executable': str(),
'arguments': [],
'post_exec': [],
'cpu_reqs': { 'processes': 1,
'process_type': None,
'threads_per_process': 1,
'thread_type': None
},
'gpu_reqs': { 'processes': 0,
'process_type': None,
'threads_per_process': 0,
'thread_type': None
},
'lfs_per_process': 0,
'upload_input_data': [],
'copy_input_data': [],
'link_input_data': [],
'move_input_data': [],
'copy_output_data': [],
'move_output_data': [],
'download_output_data': [],
'stdout': None,
'stderr': None,
'exit_code': None,
'path': None,
'tag': None,
'parent_stage': {'uid':None, 'name': None},
'parent_pipeline': {'uid':None, 'name': None}}
t = Task()
t.uid = 'test.0000'
t.name = 'new'
t.pre_exec = ['module load abc']
t.executable = ['sleep']
t.arguments = ['10']
t.cpu_reqs['processes'] = 10
t.cpu_reqs['threads_per_process'] = 2
t.gpu_reqs['processes'] = 5
t.gpu_reqs['threads_per_process'] = 3
t.lfs_per_process = 1024
t.upload_input_data = ['test1']
t.copy_input_data = ['test2']
t.link_input_data = ['test3']
t.move_input_data = ['test4']
t.copy_output_data = ['test5']
t.move_output_data = ['test6']
t.download_output_data = ['test7']
t.stdout = 'out'
t.stderr = 'err'
t.exit_code = 1
t.path = 'a/b/c'
t.tag = 'task.0010'
t.parent_stage = {'uid': 's1', 'name': 'stage1'}
t.parent_pipeline = {'uid': 'p1', 'name': 'pipeline1'}
d = t.to_dict()
assert d == { 'uid': 'test.0000',
'name': 'new',
'state': states.INITIAL,
'state_history': [states.INITIAL],
'pre_exec': ['module load abc'],
'executable': 'sleep',
'arguments': ['10'],
'post_exec': [],
'cpu_reqs': { 'processes': 10,
'process_type': None,
'threads_per_process': 2,
'thread_type': None
},
'gpu_reqs': { 'processes': 5,
'process_type': None,
'threads_per_process': 3,
'thread_type': None
},
'lfs_per_process': 1024,
'upload_input_data': ['test1'],
'copy_input_data': ['test2'],
'link_input_data': ['test3'],
'move_input_data': ['test4'],
'copy_output_data': ['test5'],
'move_output_data': ['test6'],
'download_output_data': ['test7'],
'stdout': 'out',
#.........这里部分代码省略.........
示例2: test_task_exceptions
# 需要导入模块: from radical.entk import Task [as 别名]
# 或者: from radical.entk.Task import move_input_data [as 别名]
def test_task_exceptions(s,l,i,b):
"""
**Purpose**: Test if all attribute assignments raise exceptions for invalid values
"""
t = Task()
data_type = [s,l,i,b]
for data in data_type:
if not isinstance(data,str):
with pytest.raises(TypeError):
t.name = data
with pytest.raises(TypeError):
t.path = data
with pytest.raises(TypeError):
t.parent_stage = data
with pytest.raises(TypeError):
t.parent_pipeline = data
with pytest.raises(TypeError):
t.stdout = data
with pytest.raises(TypeError):
t.stderr = data
if not isinstance(data,list):
with pytest.raises(TypeError):
t.pre_exec = data
with pytest.raises(TypeError):
t.arguments = data
with pytest.raises(TypeError):
t.post_exec = data
with pytest.raises(TypeError):
t.upload_input_data = data
with pytest.raises(TypeError):
t.copy_input_data = data
with pytest.raises(TypeError):
t.link_input_data = data
with pytest.raises(TypeError):
t.move_input_data = data
with pytest.raises(TypeError):
t.copy_output_data = data
with pytest.raises(TypeError):
t.download_output_data = data
with pytest.raises(TypeError):
t.move_output_data = data
if not isinstance(data, str) and not isinstance(data, list):
with pytest.raises(TypeError):
t.executable = data
if not isinstance(data, str) and not isinstance(data, unicode):
with pytest.raises(ValueError):
t.cpu_reqs = {
'processes': 1,
'process_type': data,
'threads_per_process': 1,
'thread_type': None
}
t.cpu_reqs = {
'processes': 1,
'process_type': None,
'threads_per_process': 1,
'thread_type': data
}
t.gpu_reqs = {
'processes': 1,
'process_type': data,
'threads_per_process': 1,
'thread_type': None
}
t.gpu_reqs = {
'processes': 1,
'process_type': None,
'threads_per_process': 1,
'thread_type': data
}
if not isinstance(data, int):
with pytest.raises(TypeError):
t.cpu_reqs = {
#.........这里部分代码省略.........
示例3: test_input_list_from_task
# 需要导入模块: from radical.entk import Task [as 别名]
# 或者: from radical.entk.Task import move_input_data [as 别名]
def test_input_list_from_task():
"""
**Purpose**: Test if the 'get_input_list_from_task' function generates the correct RP input transfer directives
when given a Task
"""
pipeline = str(ru.generate_id('pipeline'))
stage = str(ru.generate_id('stage'))
task = str(ru.generate_id('task'))
placeholder_dict = {
pipeline: {
stage: {
task: '/home/vivek/some_file.txt'
}
}
}
for t in [1, 'a', list(), dict(), True]:
with pytest.raises(TypeError):
t = list()
get_input_list_from_task(t, placeholder_dict)
# Test link input data
t = Task()
t.link_input_data = ['/home/vivek/test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.link_input_data[0]
assert ip_list[0]['action'] == rp.LINK
assert ip_list[0]['target'] == os.path.basename(t.link_input_data[0])
t = Task()
t.link_input_data = ['/home/vivek/test.dat > new_test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.link_input_data[0].split('>')[0].strip()
assert ip_list[0]['action'] == rp.LINK
assert ip_list[0]['target'] == os.path.basename(t.link_input_data[0].split('>')[1].strip())
# Test copy input data
t = Task()
t.copy_input_data = ['/home/vivek/test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.copy_input_data[0]
assert ip_list[0]['action'] == rp.COPY
assert ip_list[0]['target'] == os.path.basename(t.copy_input_data[0])
t = Task()
t.copy_input_data = ['/home/vivek/test.dat > new_test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.copy_input_data[0].split('>')[0].strip()
assert ip_list[0]['action'] == rp.COPY
assert ip_list[0]['target'] == os.path.basename(t.copy_input_data[0].split('>')[1].strip())
# Test move input data
t = Task()
t.move_input_data = ['/home/vivek/test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.move_input_data[0]
assert ip_list[0]['action'] == rp.MOVE
assert ip_list[0]['target'] == os.path.basename(t.move_input_data[0])
t = Task()
t.move_input_data = ['/home/vivek/test.dat > new_test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.move_input_data[0].split('>')[0].strip()
assert ip_list[0]['action'] == rp.MOVE
assert ip_list[0]['target'] == os.path.basename(t.move_input_data[0].split('>')[1].strip())
# Test upload input data
t = Task()
t.upload_input_data = ['/home/vivek/test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.upload_input_data[0]
assert 'action' not in ip_list[0]
assert ip_list[0]['target'] == os.path.basename(t.upload_input_data[0])
t = Task()
t.upload_input_data = ['/home/vivek/test.dat > new_test.dat']
ip_list = get_input_list_from_task(t, placeholder_dict)
assert ip_list[0]['source'] == t.upload_input_data[0].split('>')[0].strip()
assert 'action' not in ip_list[0]
assert ip_list[0]['target'] == os.path.basename(t.upload_input_data[0].split('>')[1].strip())