The test "Perl read system file" has been observed to fail on some
systems due to the order of the value labels being different from
that expected.
Perl does not guarantee the order in which keys returns its values.
Therefore this change sorts the return value before using it.
my $vl = $var->get_value_labels ();
print "Value Labels:\n";
my $vl = $var->get_value_labels ();
print "Value Labels:\n";
- print "$_ => $vl->{$_}\n" for keys %$vl;
+ print "$_ => $vl->{$_}\n" for sort (keys %$vl);
}
while (my @c = $sf->get_next_case () )
}
while (my @c = $sf->get_next_case () )
AT_CHECK([RUN_PERL_MODULE test.pl], [0],
[Variable 0 is "string", label is "A Short String Variable"
Value Labels:
AT_CHECK([RUN_PERL_MODULE test.pl], [0],
[Variable 0 is "string", label is "A Short String Variable"
Value Labels:
1111 => ones
2222 => twos
1111 => ones
2222 => twos
Variable 1 is "longstring", label is "A Long String Variable"
Value Labels:
Variable 2 is "numeric", label is "A Numeric Variable"
Value Labels:
1 => Unity
Variable 1 is "longstring", label is "A Long String Variable"
Value Labels:
Variable 2 is "numeric", label is "A Numeric Variable"
Value Labels:
1 => Unity
Variable 3 is "date", label is "A Date Variable"
Value Labels:
Variable 4 is "dollar", label is "A Dollar Variable"
Variable 3 is "date", label is "A Date Variable"
Value Labels:
Variable 4 is "dollar", label is "A Dollar Variable"