blob: 7f26d597091ad43edd63bf67bc3e2b2ce1887fd5 [file] [log] [blame] [edit]
#!/usr/bin/perl -T
use Test::More tests => 5;
use Slurm qw(:constant);
use POSIX qw(:errno_h);
# 1
my $slurm = Slurm::new();
ok(defined $slurm, "create slurm object with default configuration");
# 2
my $trig_set;
SKIP: {
skip "not super user", 1 if $>;
my $rc = $slurm->set_trigger( { trig_type => TRIGGER_TYPE_RECONFIG,
res_type => TRIGGER_RES_TYPE_NODE,
program => "/bin/true",
} );
ok($rc == SLURM_SUCCESS, "set trigger") and $trig_set = 1 or diag("set_trigger: " . $slurm->strerror());
}
# 3
my $resp;
$resp = $slurm->get_triggers();
ok(ref($resp) eq "HASH", "getting triggers");
# 4
SKIP: {
skip "not super user", 1 if $>;
skip "trigger not set", 1 unless $trig_set;
my $rc = $slurm->pull_trigger ( {trig_res_type => TRIGGER_RES_TYPE_NODE} );
ok($rc == SLURM_ERROR && $slurm->get_errno() == EINVAL, "pull trigger") or diag("pull_trigger: " . $slurm->strerror());
}
# 5
SKIP: {
skip "not super user", 1 if $>;
skip "trigger not set", 1 unless $trig_set;
my $trig_id;
foreach my $trig(@{$resp->{trigger_array}}) {
next unless $trig->{program} eq "/bin/true";
$trig_id = $trig->{trig_id};
}
skip "trigger not found", 1 unless $trig_id;
my $rc = $slurm->clear_trigger ( {trig_id => $trig_id, user_id => 0} );
ok($rc == SLURM_SUCCESS, "clear trigger") or diag("clear_trigger: " . $slurm->strerror());
}