blob: ac31bde164ef63f74f51ea5d181b1e41f9671187 [file] [log] [blame] [edit]
#!/usr/bin/perl -T
use Test::More tests => 9;
use Slurm qw(:constant);
# 1
my $slurm = Slurm::new();
ok(defined $slurm, "create slurm object with default configuration");
# 2
my $resp;
$resp = $slurm->load_partitions();
ok(ref($resp) eq "HASH", "load partitions");
# 3
SKIP: {
my ($fh, $print_ok);
skip "failed to open temporary file", 1 unless open($fh, '+>', undef);
$slurm->print_partition_info_msg($fh, $resp);
seek($fh, 0, 0);
while(<$fh>) {
$print_ok = 1 if /^Partition data as of/;
}
close($fh);
ok($print_ok, "print partition info msg");
}
# 4
SKIP: {
my ($fh, $print_ok);
skip "failed to open temporary file", 1 unless open($fh, '+>', undef);
$slurm->print_partition_info($fh, $resp->{partition_array}->[0]);
seek($fh, 0, 0);
while(<$fh>) {
$print_ok = 1 if /^PartitionName=\w+/;
}
close($fh);
ok($print_ok, "print partition info");
}
# 5
my $str = $slurm->sprint_partition_info($resp->{partition_array}->[0]);
ok(defined $str && $str =~ /^PartitionName=\w+/, "sprint partition info") or diag("sprint_partition_info: $str");
# 6
$resp = $slurm->load_node();
ok(ref($resp) eq "HASH", "load node");
my $node_name = $resp->{node_array}->[0]->{name};
my $part_name = "perlapi_test";
my $rc;
# 7
SKIP: {
skip "not super user", 1 if $>;
$rc = $slurm->create_partition({name => $part_name, nodes => $node_name});
ok($rc == SLURM_SUCCESS, "create partition") || diag("create partition: " . $slurm->strerror());
}
# 8
SKIP: {
skip "not super user", 1 if $>;
$rc = $slurm->update_partition({name => $part_name, flags => PART_FLAG_ROOT_ONLY});
ok($rc == SLURM_SUCCESS, "update partition") || diag("update partition: " . $slurm->strerror());
}
# 9
SKIP: {
skip "not super user", 1 if $>;
$rc = $slurm->delete_partition({name => $part_name});
ok($rc == SLURM_SUCCESS, "delete partition") || diag("delete partition: " . $slurm->strerror());
}