#!/usr/bin/env perl use v5.12.5; use warnings; our $VERSION = '9999.99.99_99'; # VERSION BEGIN { use Test::More tests => 9; use Test::Warnings qw(:no_end_test had_no_warnings); use File::Temp; use Rex::Commands; use Rex::RunList; use Rex::Shared::Var; share qw( $before_task_start_all $before_task_start $before_all $before $after $after_all $after_task_finished $after_task_finished_all); } $::QUIET = 1; $before_task_start_all = $before_task_start = $before_all = $before = $after = $after_all = $after_task_finished = $after_task_finished_all = 0; timeout 1; task foo => sub { return "yo" }; before_task_start ALL => sub { $before_task_start_all += 1 }; before_task_start foo => sub { $before_task_start += 1 }; before ALL => sub { $before_all += 1 }; before foo => sub { $before += 1 }; after foo => sub { $after += 1 }; after ALL => sub { $after_all += 1 }; after_task_finished foo => sub { $after_task_finished += 1 }; after_task_finished ALL => sub { $after_task_finished_all += 1 }; @ARGV = qw(foo); my $run_list = Rex::RunList->instance; $run_list->parse_opts(@ARGV); $run_list->run_tasks; is $before_task_start_all, 1, 'before_task_start ALL hook'; is $before_task_start, 1, 'before_task_start hook'; is $before_all, 1, 'before ALL hook'; is $before, 1, 'before hook'; is $after, 1, 'after hook'; is $after_all, 1, 'after ALL hook'; is $after_task_finished, 1, 'after_task_finished hook'; is $after_task_finished_all, 1, 'after_task_finished ALL hook'; had_no_warnings();