def test_job_script_stderr_file() -> None: # Note: doesn't test that it works, that's what test_scheduler is for job_desc = JobDescription() job_desc.stderr_file = '/home/user/test.err' script = _job_desc_to_job_script(job_desc) assert '/home/user/test.err' in script
def test_system_err_redirect2( scheduler_and_fs: Tuple[Scheduler, FileSystem]) -> None: sched, fs, _ = scheduler_and_fs job_desc = JobDescription() job_desc.working_directory = '/home/cerulean' job_desc.command = 'while [ a = a ] ; do echo bla >/dev/null; done' job_desc.time_reserved = 1 job_desc.stderr_file = '/dev/null' job_desc.system_err_file = '/home/cerulean/test_sys_redirect.err' job_id = sched.submit(job_desc) sched.wait(job_id) syserr = (fs / 'home/cerulean/test_sys_redirect.err').read_text() print('Sys err: {}'.format(syserr)) assert 'CANCELLED' in syserr or 'killed' in syserr or 'Killed' in syserr
def test_system_err_redirect( scheduler_and_fs: Tuple[Scheduler, FileSystem]) -> None: sched, fs, _ = scheduler_and_fs job_desc = JobDescription() job_desc.working_directory = '/home/cerulean' job_desc.command = 'bash' job_desc.arguments = ['-c', 'for i in x ; do something invalid'] job_desc.time_reserved = 1 job_desc.stderr_file = '/dev/null' job_desc.system_err_file = '/home/cerulean/test_sys_redirect.err' job_id = sched.submit(job_desc) sched.wait(job_id) syserr = (fs / 'home/cerulean/test_sys_redirect.err').read_text() retval = sched.get_exit_code(job_id) assert retval != 0 assert 'syntax error' in syserr
def test_stderr_redirect( scheduler_and_fs: Tuple[Scheduler, FileSystem]) -> None: sched, fs, _ = scheduler_and_fs job_desc = JobDescription() job_desc.working_directory = '/home' job_desc.command = 'ls' job_desc.arguments = ['--non-existing-option'] job_desc.stderr_file = '/home/cerulean/test_stderr_redirect.out' job_id = sched.submit(job_desc) print('Job id: {}'.format(job_id)) while sched.get_status(job_id) != JobStatus.DONE: time.sleep(10.0) retval = sched.get_exit_code(job_id) assert retval == 2 outfile = fs / 'home/cerulean/test_stderr_redirect.out' assert 'unrecognized option' in outfile.read_text() outfile.unlink()