| #!/usr/bin/perl -T |
| use Test::More tests => 8; |
| use Slurm qw(:constant); |
| |
| # 1 |
| my $slurm = Slurm::new(); |
| ok(defined $slurm, "create slurm object with default configuration"); |
| |
| |
| # 2 |
| my $resp = $slurm->get_job_steps(); |
| ok(ref($resp) eq "HASH", "get job steps"); |
| |
| |
| # 3 |
| SKIP: { |
| my ($fh, $print_ok); |
| skip "failed to open temporary file", 1 unless open($fh, '+>', undef); |
| $slurm->print_job_step_info_msg($fh, $resp, 1); |
| seek($fh, 0, 0); |
| while(<$fh>) { |
| $print_ok = 1 if /^Job step data as/; |
| } |
| close($fh); |
| ok($print_ok, "print job step info msg"); |
| } |
| |
| |
| # 4 |
| SKIP: { |
| my ($fh, $print_ok); |
| skip "no steps in system", 1 unless @{$resp->{job_steps}}; |
| skip "failed to open temporary file", 1 unless open($fh, '+>', undef); |
| $slurm->print_job_step_info($fh, $resp->{job_steps}->[0], 1); |
| seek($fh, 0, 0); |
| while(<$fh>) { |
| $print_ok = 1 if /^StepId=\d+/; |
| } |
| close($fh); |
| ok($print_ok, "print job step info"); |
| } |
| |
| |
| # 5 |
| SKIP: { |
| my ($fh, $print_ok); |
| skip "no steps in system", 1 unless @{$resp->{job_steps}}; |
| my $str = $slurm->sprint_job_step_info($resp->{job_steps}->[0], 1); |
| $print_ok = 1 if $str =~ /^StepId=\d+/; |
| ok($print_ok, "print job step info"); |
| } |
| |
| |
| # 6 |
| SKIP: { |
| skip "no steps in system", 1 unless @{$resp->{job_steps}}; |
| my $layout = $slurm->job_step_layout_get($resp->{job_steps}->[0]->{step_id}->{job_id}, |
| $resp->{job_steps}->[0]->{step_id}->{step_id}); |
| ok(ref($layout) eq "HASH" || $slurm->get_errno() == ESLURM_INVALID_JOB_ID, "job step layout get") |
| or diag("job_step_layout_get: " . $slurm->strerror()); |
| } |
| |
| |
| # 7 |
| SKIP: { |
| skip "no steps in system", 1 unless @{$resp->{job_steps}}; |
| my $layout = $slurm->job_step_stat($resp->{job_steps}->[0]->{step_id}->{job_id}, |
| $resp->{job_steps}->[0]->{step_id}->{step_id}); |
| ok(ref($layout) eq "HASH" || $slurm->get_errno() == ESLURM_INVALID_JOB_ID, "job step stat") |
| or diag("job_step_stat: " . $slurm->strerror()); |
| } |
| |
| |
| # 8 |
| SKIP: { |
| skip "no steps in system", 1 unless @{$resp->{job_steps}}; |
| my $layout = $slurm->job_step_get_pids($resp->{job_steps}->[0]->{step_id}->{job_id}, |
| $resp->{job_steps}->[0]->{step_id}->{step_id}); |
| ok(ref($layout) eq "HASH" || $slurm->get_errno() == ESLURM_INVALID_JOB_ID, "job step get pids") |
| or diag("job_step_get_pids: " . $slurm->strerror()); |
| } |