Skip to content

Commit

Permalink
Use getter/setter for needles dir as safer approach rather than packa…
Browse files Browse the repository at this point in the history
…ge variable
  • Loading branch information
okurz committed Dec 13, 2019
1 parent d867943 commit 816e08a
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 6 deletions.
2 changes: 1 addition & 1 deletion OpenQA/Isotovideo/NeedleDownloader.pm
Expand Up @@ -72,7 +72,7 @@ sub _add_download {

my $needle_name = $needle->{name};
my $latest_update = $needle->{t_updated};
my $needles_dir = $needle::needles_dir;
my $needles_dir = needle::needles_dir();
my $download_target = "$needles_dir/$needle_name.$extension";

if (my $target_stat = stat($download_target)) {
Expand Down
7 changes: 6 additions & 1 deletion needle.pm
Expand Up @@ -33,9 +33,10 @@ use OpenQA::Benchmark::Stopwatch;

our %needles;
our %tags;
our $needles_dir;
our $cleanuphandler;

my $needles_dir;

sub is_click_point_valid {
my ($click_point) = @_;
return (ref $click_point eq 'HASH'
Expand Down Expand Up @@ -340,6 +341,10 @@ sub init {
return $needles_dir;
}

sub needles_dir { $needles_dir; }

sub set_needles_dir { ($needles_dir) = @_; }

sub tags {
my ($wanted) = @_;
my @wanted = split(/ /, $wanted);
Expand Down
4 changes: 2 additions & 2 deletions t/01-test_needle.t
Expand Up @@ -397,7 +397,7 @@ subtest 'needle::init accepts custom NEEDLES_DIR within working directory and ot
};

subtest 'click point' => sub {
$needle::needles_dir = $misc_needles_dir;
needle::set_needles_dir($misc_needles_dir);

my $needle = needle->new('click-point.json');
is_deeply($needle->{area}->[0]->{click_point}, {xpos => 2, ypos => 4}, 'click point parsed');
Expand All @@ -412,7 +412,7 @@ subtest 'click point' => sub {
};

subtest 'workaround property' => sub {
$needle::needles_dir = $misc_needles_dir;
needle::set_needles_dir($misc_needles_dir);

my $workaround_string_needle = needle->new('check-workaround-bsc1234567-20190522.json');
my $workaround_hash_needle = needle->new('check-workaround-hash-20190522.json');
Expand Down
2 changes: 1 addition & 1 deletion t/02-test_ocr.t
Expand Up @@ -28,7 +28,7 @@ unless (which('tesseract')) {

needle::init;

my $img1 = tinycv::read("$needle::needles_dir/bootmenu.test.png");
my $img1 = tinycv::read(needle::needles_dir() . '/bootmenu.test.png');
my $needle = needle->new('bootmenu-ocr.ref.json');
my $res = $img1->search($needle);
ok(defined $res, 'ocr match 1');
Expand Down
3 changes: 2 additions & 1 deletion t/21-needle-downloader.t
Expand Up @@ -23,8 +23,9 @@ $user_agent_mock->mock(get => sub {
});

# setup needle directory
my $needles_dir = $needle::needles_dir = path(tempdir, 'needles_dir');
my $needles_dir = path(tempdir, 'needles_dir');
ok(make_path($needles_dir), 'create test needle dir under ' . $needles_dir);
needle::set_needles_dir($needles_dir);

subtest 'deduce URL for needle download from test variable OPENQA_URL' => sub {
$bmwqemu::vars{OPENQA_URL} = 'https://openqa1-opensuse';
Expand Down

0 comments on commit 816e08a

Please sign in to comment.