From 72669f74b16acf719e56db820371976c12f3f872 Mon Sep 17 00:00:00 2001 From: Dan King Date: Fri, 12 Jan 2024 16:21:06 -0500 Subject: [PATCH] [batch] provide sufficient information to debug transient errors (#14151) This provides useful feedback we can use to understand why `test_file_in_current_dir` keeps failing. --- .../test/hailtop/hailctl/batch/test_submit.py | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/hail/python/test/hailtop/hailctl/batch/test_submit.py b/hail/python/test/hailtop/hailctl/batch/test_submit.py index a6caeca9227..397e1156478 100644 --- a/hail/python/test/hailtop/hailctl/batch/test_submit.py +++ b/hail/python/test/hailtop/hailctl/batch/test_submit.py @@ -37,8 +37,8 @@ def test_file_with_no_dest(runner: CliRunner): os.chdir(dir) write_hello(f'{dir}/hello.txt') write_script(dir, f'{dir}/hello.txt') - res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt', 'test_job.py']) - assert res.exit_code == 0 + res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt', 'test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_file_in_current_dir(runner: CliRunner): @@ -46,8 +46,8 @@ def test_file_in_current_dir(runner: CliRunner): os.chdir(dir) write_hello(f'{dir}/hello.txt') write_script(dir, f'/hello.txt') - res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt:/', 'test_job.py']) - assert res.exit_code == 0 + res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt:/', 'test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_file_mount_in_child_dir(runner: CliRunner): @@ -55,8 +55,8 @@ def test_file_mount_in_child_dir(runner: CliRunner): os.chdir(dir) write_hello(f'{dir}/hello.txt') write_script(dir, '/child/hello.txt') - res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt:/child/', 'test_job.py']) - assert res.exit_code == 0 + res = runner.invoke(cli.app, ['submit', '--files', 'hello.txt:/child/', 'test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_file_mount_in_child_dir_to_root_dir(runner: CliRunner): @@ -64,8 +64,8 @@ def test_file_mount_in_child_dir_to_root_dir(runner: CliRunner): os.chdir(dir) write_hello(f'{dir}/child/hello.txt') write_script(dir, '/hello.txt') - res = runner.invoke(cli.app, ['submit', '--files', 'child/hello.txt:/', 'test_job.py']) - assert res.exit_code == 0 + res = runner.invoke(cli.app, ['submit', '--files', 'child/hello.txt:/', 'test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_mount_multiple_files(runner: CliRunner): @@ -75,9 +75,11 @@ def test_mount_multiple_files(runner: CliRunner): write_hello(f'{dir}/child/hello2.txt') write_script(dir, '/hello1.txt') res = runner.invoke( - cli.app, ['submit', '--files', 'child/hello1.txt:/', '--files', 'child/hello2.txt:/', 'test_job.py'] + cli.app, + ['submit', '--files', 'child/hello1.txt:/', '--files', 'child/hello2.txt:/', 'test_job.py'], + catch_exceptions=False, ) - assert res.exit_code == 0 + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_dir_mount_in_child_dir_to_child_dir(runner: CliRunner): @@ -86,8 +88,8 @@ def test_dir_mount_in_child_dir_to_child_dir(runner: CliRunner): write_hello(f'{dir}/child/hello1.txt') write_hello(f'{dir}/child/hello2.txt') write_script(dir, '/child/hello1.txt') - res = runner.invoke(cli.app, ['submit', '--files', 'child/:/child/', 'test_job.py']) - assert res.exit_code == 0 + res = runner.invoke(cli.app, ['submit', '--files', 'child/:/child/', 'test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_file_outside_curdir(runner: CliRunner): @@ -96,8 +98,10 @@ def test_file_outside_curdir(runner: CliRunner): os.chdir(f'{dir}/working_dir') write_hello(f'{dir}/hello.txt') write_script(dir, '/hello.txt') - res = runner.invoke(cli.app, ['submit', '--files', f'{dir}/hello.txt:/', '../test_job.py']) - assert res.exit_code == 0 + res = runner.invoke( + cli.app, ['submit', '--files', f'{dir}/hello.txt:/', '../test_job.py'], catch_exceptions=False + ) + assert res.exit_code == 0, repr((res.output, res.stdout, res.stderr, res.exception)) def test_dir_outside_curdir(runner: CliRunner): @@ -107,5 +111,5 @@ def test_dir_outside_curdir(runner: CliRunner): write_hello(f'{dir}/hello1.txt') write_hello(f'{dir}/hello2.txt') write_script(dir, '/hello1.txt') - res = runner.invoke(cli.app, ['submit', '--files', f'{dir}/:/', '../test_job.py']) - assert res.exit_code == 0, (res.exit_code, res.stdout, res.stderr) + res = runner.invoke(cli.app, ['submit', '--files', f'{dir}/:/', '../test_job.py'], catch_exceptions=False) + assert res.exit_code == 0, repr((res.exit_code, res.stdout, res.stderr, res.exception))