Skip to content

Commit 484b5c8

Browse files
committed
t: Use implicit Test::Exception functions for the test
Use of throws_ok, lives_ok whevever was applicable, merely for the tests and not for any helper function. https://progress.opensuse.org/issues/176862
1 parent a5ee6da commit 484b5c8

File tree

7 files changed

+47
-57
lines changed

7 files changed

+47
-57
lines changed

t/15-assets.t

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ $workercaps->{websocket_api_version} = 999999;
111111
throws_ok { $w = $c->_register($schema, 'host', '1', $workercaps) } qr/Incompatible websocket API version/,
112112
'Worker different version - incompatible version exception';
113113
$workercaps->{websocket_api_version} = WEBSOCKET_API_VERSION;
114-
eval { $w = $c->_register($schema, 'host', '1', $workercaps); };
115-
ok(!$@, 'Worker correct version');
114+
lives_ok { $w = $c->_register($schema, 'host', '1', $workercaps) } 'Worker correct version';
116115

117116
my $worker = $schema->resultset('Workers')->find($w);
118117
is($worker->websocket_api_version(), WEBSOCKET_API_VERSION, 'Worker version set correctly');

t/16-utils-job-templates.t

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,14 @@ is scalar @$errors, 1, "Invalid toplevel key detected" or diag "Error: $_" for @
6060
like($errors->[0], qr{/: Properties not allowed: invalid.}, 'Invalid toplevel key error message');
6161

6262
subtest load_yaml => sub {
63-
eval { load_yaml(file => $template_openqa_dupkey) };
64-
my $err = $@;
65-
like($err, qr{Duplicate key 'foo'}, 'Duplicate key detected');
63+
throws_ok { load_yaml(file => $template_openqa_dupkey) } qr{Duplicate key 'foo'}, 'Duplicate key detected';
6664

6765
my $cyclic = <<"EOM";
6866
- &ALIAS
6967
foo: *ALIAS
7068
EOM
7169

72-
eval { my $data = load_yaml(string => $cyclic) };
73-
$err = $@;
74-
like $err, qr{Found cyclic ref}, "cyclic refs are fatal";
70+
throws_ok { my $data = load_yaml(string => $cyclic) } qr{Found cyclic ref}, "cyclic refs are fatal";
7571
};
7672

7773
done_testing;

t/28-logging.t

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,10 @@ subtest 'log fatal to stderr' => sub {
127127
setup_log($app);
128128
OpenQA::App->set_singleton(undef); # To make sure we are not setting it in other tests
129129
my $output = stderr_from {
130-
eval { log_fatal('fatal message') }
130+
throws_ok { log_fatal('fatal message') }
131+
qr/fatal message.*t\/28-logging\.t/, 'Fatal raised exception';
131132
};
132-
my $eval_error = $@;
133-
my $exception_raised = 0;
134-
$exception_raised++ if $eval_error;
135-
is($exception_raised, 1, 'Fatal raised exception');
136-
like($output, qr/\[FATAL\] fatal message/, 'OK fatal');
137-
like($eval_error, qr{fatal message.*t/28-logging.t});
138-
133+
like $output, qr/\[FATAL\] fatal message/, 'OK fatal';
139134
};
140135

141136
subtest 'Checking log level' => sub {
@@ -168,7 +163,7 @@ subtest 'Checking log level' => sub {
168163
log_warning('warn message');
169164
log_error('error message');
170165

171-
eval { log_fatal('fatal message'); };
166+
throws_ok { log_fatal('fatal message') } qr/fatal message/, 'exception raised';
172167

173168
$deathcounter++ if $@;
174169

@@ -185,7 +180,7 @@ subtest 'Checking log level' => sub {
185180
log_warning("warn message", channels => $channel);
186181
log_error("error message", channels => $channel);
187182

188-
eval { log_fatal('fatal message', channels => $channel); };
183+
throws_ok { log_fatal('fatal message', channels => $channel); } qr/fatal message/, 'exception raised';
189184
$deathcounter++ if $@;
190185

191186
%matches = map { $_ => 1 } (Mojo::File->new($logging_test_file)->slurp =~ m/$reChannel/gm);
@@ -201,7 +196,7 @@ subtest 'Checking log level' => sub {
201196
log_warning("warn message", channels => 'no_channel');
202197
log_error("error", channels => 'no_channel');
203198

204-
eval { log_fatal('fatal message', channels => 'no_channel'); };
199+
throws_ok { log_fatal('fatal message', channels => 'no_channel') } qr/fatal message/, 'exception raised';
205200

206201
$deathcounter++ if $@;
207202

@@ -302,7 +297,8 @@ subtest 'Logs to multiple channels' => sub {
302297
log_warning("warn message", channels => $channel_tupple, standard => 1);
303298
log_error("error message", channels => $channel_tupple, standard => 1);
304299

305-
eval { log_fatal('fatal message', channels => $channel_tupple, standard => 1); };
300+
throws_ok { log_fatal('fatal message', channels => $channel_tupple, standard => 1) } qr/fatal message/,
301+
'exception raised';
306302

307303
my %matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
308304
is(keys(%matches), $counterChannel, "Worker multiple channel $channel_tupple->[0] log level $level entry");
@@ -350,7 +346,8 @@ subtest 'Logs to bogus channels' => sub {
350346
log_warning("warn message", channels => ['test', 'test1']);
351347
log_error("error message", channels => ['test', 'test1']);
352348

353-
eval { log_fatal('fatal message', channels => ['test', 'test1']); };
349+
throws_ok { log_fatal('fatal message', channels => ['test', 'test1']) } qr/fatal message/,
350+
'exception raised';
354351

355352
my %matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
356353
is(keys(%matches), 0, "Worker multiple channel $channel_tupple->[0] log level $level entry");
@@ -400,7 +397,7 @@ subtest 'Logs to default channels' => sub {
400397
log_warning("warn message");
401398
log_error("error message");
402399

403-
eval { log_fatal('fatal message'); };
400+
throws_ok { log_fatal('fatal message') } qr/fatal message/, 'exception raised';
404401

405402
my %matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
406403
is(keys(%matches), $counterChannel, "Worker default channel 1 log level $level entry");
@@ -424,7 +421,7 @@ subtest 'Logs to default channels' => sub {
424421
log_warning("warn message");
425422
log_error("error message");
426423

427-
eval { log_fatal('fatal message'); };
424+
throws_ok { log_fatal('fatal message') } qr/fatal message/, 'exception raised';
428425

429426
%matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
430427
is(keys(%matches), $counterChannel, "Worker default channel 1 log level $level entry");
@@ -446,7 +443,7 @@ subtest 'Logs to default channels' => sub {
446443
log_warning("warn message");
447444
log_error("error message");
448445

449-
eval { log_fatal('fatal message'); };
446+
throws_ok { log_fatal('fatal message') } qr/fatal message/, 'exception raised';
450447

451448
%matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
452449
is(keys(%matches), 0, "Worker default channel 1 log level $level entry");
@@ -468,7 +465,7 @@ subtest 'Logs to default channels' => sub {
468465
log_warning("warn message");
469466
log_error("error message");
470467

471-
eval { log_fatal('fatal message'); };
468+
throws_ok { log_fatal('fatal message') } qr/fatal message/, 'exception raised';
472469

473470
%matches = map { $_ => 1 } (Mojo::File->new($logging_test_file1)->slurp =~ m/$reChannel/gm);
474471
is(keys(%matches), 0, "Worker default channel 1 log level $level entry");

t/30-test_parser.t

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -613,10 +613,7 @@ subtest tap_parse_invalid => sub {
613613

614614
my $parser = OpenQA::Parser::Format::TAP->new;
615615

616-
eval { $parser->load($tap_test_file) };
617-
my $error = $@;
618-
619-
like $error, qr{A valid TAP starts with filename.tap}, "Invalid TAP example";
616+
throws_ok { $parser->load($tap_test_file) } qr{A valid TAP starts with filename.tap}, "Invalid TAP example";
620617
};
621618

622619
sub test_ltp_file {

t/31-client_archive.t

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,15 @@ subtest 'OpenQA::Client:Archive tests' => sub {
2727
is(-s "$limittest_path/limittest.tar.bz2", 2 * 1024 * 1024, 'limit test file is created')
2828
or note "dd output: $dd_output";
2929

30-
eval {
30+
lives_ok {
3131
my %options = (
3232
archive => $destination,
3333
url => "/api/v1/jobs/$jobid/details",
3434
'asset-size-limit' => $limit,
3535
'with-thumbnails' => 1
3636
);
3737
my $command = $t->ua->archive->run(\%options);
38-
};
39-
is($@, '', 'Archive functionality works as expected would perform correctly') or always_explain $@;
38+
} 'Archive functionality works as expected would perform correctly';
4039

4140
my $file = $destination->child('testresults', 'details-zypper_up.json');
4241
ok(-e $file, 'details-zypper_up.json file exists') or diag $file;

t/32-openqa_client.t

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ subtest 'upload public assets' => sub {
4343
my $chunkdir = 't/data/openqa/share/factory/tmp/public/hdd_image2.qcow2.CHUNKS/';
4444
my $rp = "t/data/openqa/share/factory/hdd/hdd_image2.qcow2";
4545

46-
eval { $t->ua->upload->asset(99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image2.qcow2'}); };
47-
ok !$@, 'No upload errors' or die explain $@;
46+
lives_ok {
47+
$t->ua->upload->asset(99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image2.qcow2'})
48+
}
49+
'No upload errors';
4850
path($chunkdir)->remove_tree;
4951
ok !-d $chunkdir, 'Chunk directory should not exist anymore';
5052
ok -e $rp, 'Asset exists after upload';
@@ -57,11 +59,11 @@ subtest 'upload public assets (local)' => sub {
5759
my $chunkdir = 't/data/openqa/share/factory/tmp/public/hdd_image5.qcow2.CHUNKS/';
5860
my $rp = "t/data/openqa/share/factory/hdd/hdd_image5.qcow2";
5961

60-
eval {
62+
lives_ok {
6163
$t->ua->upload->asset(
6264
99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image5.qcow2', local => 1});
63-
};
64-
ok !$@, 'No upload errors' or die explain $@;
65+
}
66+
'No upload errors';
6567
path($chunkdir)->remove_tree;
6668
ok !-d $chunkdir, 'Chunk directory should not exist anymore';
6769
ok -e $rp, 'Asset exists after upload';
@@ -77,11 +79,11 @@ subtest 'upload private assets' => sub {
7779
my ($local_prepare, $chunk_prepare);
7880
my $local_prepare_cb = $t->ua->upload->on('upload_local.prepare' => sub { $local_prepare++ });
7981
my $chunk_prepare_cb = $t->ua->upload->on('upload_chunk.prepare' => sub { $chunk_prepare++ });
80-
eval {
82+
lives_ok {
8183
$t->ua->upload->asset(
8284
99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image3.qcow2', asset => 'private'});
83-
};
84-
ok !$@, 'No upload errors' or die explain $@;
85+
}
86+
'No upload errors' or die explain $@;
8587
$t->ua->upload->unsubscribe('upload_local.prepare' => $local_prepare_cb);
8688
$t->ua->upload->unsubscribe('upload_chunl.prepare' => $chunk_prepare_cb);
8789
ok !$local_prepare, 'not uploaded via file copy';
@@ -101,7 +103,7 @@ subtest 'upload private assets (local)' => sub {
101103
my ($local_prepare, $chunk_prepare);
102104
my $local_prepare_cb = $t->ua->upload->on('upload_local.prepare' => sub { $local_prepare++ });
103105
my $chunk_prepare_cb = $t->ua->upload->on('upload_chunk.prepare' => sub { $chunk_prepare++ });
104-
eval {
106+
lives_ok {
105107
$t->ua->upload->asset(
106108
99963 => {
107109
chunk_size => $chunk_size,
@@ -110,8 +112,8 @@ subtest 'upload private assets (local)' => sub {
110112
asset => 'private',
111113
local => 1
112114
});
113-
};
114-
ok !$@, 'No upload errors' or die explain $@;
115+
}
116+
'No upload errors';
115117
$t->ua->upload->unsubscribe('upload_local.prepare' => $local_prepare_cb);
116118
$t->ua->upload->unsubscribe('upload_chunl.prepare' => $chunk_prepare_cb);
117119
ok $local_prepare, 'uploaded via file copy';
@@ -133,11 +135,11 @@ subtest 'upload other assets' => sub {
133135
ok(-d $chunkdir, 'Chunk directory exists');
134136
});
135137

136-
eval {
138+
lives_ok {
137139
$t->ua->upload->asset(
138140
99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image3.xml', asset => 'other'});
139-
};
140-
ok !$@, 'No upload errors' or die explain $@;
141+
}
142+
'No upload errors';
141143
ok !-d $chunkdir, 'Chunk directory should not exist anymore';
142144
ok -e $rp, 'Asset exists after upload';
143145
is $sum, OpenQA::File->file_digest($rp), 'checksum matches for other asset';
@@ -160,11 +162,11 @@ subtest 'upload retries' => sub {
160162
$t->ua->upload->on('upload_chunk.response' => sub { $responses++; });
161163
$t->ua->upload->on('upload_chunk.request_fail' => sub { use Data::Dump 'pp'; diag pp(@_) });
162164

163-
eval {
165+
lives_ok {
164166
$t->ua->upload->asset(
165167
99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image4.xml', asset => 'other'});
166-
};
167-
ok !$@, 'No upload errors';
168+
}
169+
'No upload errors';
168170
is $fail_chunk, 1, 'One chunk failed uploading, but we recovered' or always_explain "\$fail_chunk: $fail_chunk";
169171
is $responses, OpenQA::File::_chunk_size(-s $filename, $chunk_size) + 1, 'responses as expected';
170172
ok !-d $chunkdir, 'Chunk directory should not exist anymore';
@@ -191,11 +193,11 @@ subtest 'upload failures' => sub {
191193
is(pop()->res->json->{status}, 'foobar', 'Error message status is correct');
192194
});
193195

194-
eval {
196+
lives_ok {
195197
$t->ua->upload->asset(99963 =>
196198
{chunk_size => $chunk_size, file => $filename, name => 'hdd_image5.xml', asset => 'other', retries => 7});
197-
};
198-
ok !$@, 'No function errors on upload failures' or die diag $@;
199+
}
200+
'No function errors on upload failures';
199201
is $fail_chunk, 7, 'All attempts failed, no recovery on upload failures';
200202
is $errored, 1, 'Upload errors';
201203
ok !-d $chunkdir, 'Chunk directory should not exist anymore';
@@ -216,11 +218,11 @@ subtest 'upload internal errors' => sub {
216218
$t->ua->upload->on('upload_chunk.response' => sub { die("Subdly") });
217219
$t->ua->upload->on('upload_chunk.request_err' => sub { $fail_chunk++; $e = pop(); });
218220

219-
eval {
221+
lives_ok {
220222
$t->ua->upload->asset(
221223
99963 => {chunk_size => $chunk_size, file => $filename, name => 'hdd_image6.xml', asset => 'other'});
222-
};
223-
ok !$@, 'No function errors on internal errors' or die diag $@;
224+
}
225+
'No function errors on internal errors';
224226
is $fail_chunk, 10, 'All chunks failed, no recovery on internal errors';
225227
like $e, qr/Subdly/, 'Internal error seen';
226228
ok !-d $chunkdir, 'Chunk directory should not exist anymore';

t/ui/15-comments.t

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,8 +301,8 @@ subtest 'commenting in test results including labels' => sub {
301301
my $textarea = $driver->find_element_by_id('text');
302302
like $textarea->get_value, qr/label:force_result:new_result/, 'label template added';
303303
$driver->find_element_by_id('submitComment')->click;
304-
eval { wait_for_ajax(msg => 'alert when trying to submit comment') };
305-
like $@, qr/unexpected alert/, 'alert already shown shown when trying to wait for it' if $@;
304+
throws_ok { wait_for_ajax(msg => 'alert when trying to submit comment') } qr/unexpected alert/,
305+
'alert already shown shown when trying to wait for it';
306306
like $driver->get_alert_text, qr/Invalid result 'new_result' for force_result/, 'error from server shown';
307307
$driver->dismiss_alert;
308308
$textarea->clear;

0 commit comments

Comments
 (0)