forked from Qortal/Brooklyn
134 lines
2.6 KiB
Perl
134 lines
2.6 KiB
Perl
|
#!/usr/bin/perl -w
|
||
|
#
|
||
|
# Run this program on the integrator.
|
||
|
#
|
||
|
# - Tests module parameter default values.
|
||
|
# - Tests setting of valid module parameter values via modprobe.
|
||
|
# - Tests invalid module parameter values.
|
||
|
# -----------------------------------------------------------------------------
|
||
|
use strict;
|
||
|
use dwc_otg_test;
|
||
|
|
||
|
check_arch() or die;
|
||
|
|
||
|
#
|
||
|
#
|
||
|
sub test {
|
||
|
my ($param,$expected) = @_;
|
||
|
my $value = get($param);
|
||
|
|
||
|
if ($value == $expected) {
|
||
|
print "$param = $value, okay\n";
|
||
|
}
|
||
|
|
||
|
else {
|
||
|
warn "ERROR: value of $param != $expected, $value\n";
|
||
|
$errors ++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#
|
||
|
#
|
||
|
sub get {
|
||
|
my $param = shift;
|
||
|
my $tmp = `cat $paramdir/$param`;
|
||
|
chomp $tmp;
|
||
|
return $tmp;
|
||
|
}
|
||
|
|
||
|
#
|
||
|
#
|
||
|
sub test_main {
|
||
|
|
||
|
print "\nTesting Module Parameters\n";
|
||
|
|
||
|
load_module("") or die;
|
||
|
|
||
|
# Test initial values
|
||
|
print "\nTesting Default Values\n";
|
||
|
foreach (@{$params}) {
|
||
|
test ($_->{NAME}, $_->{DEFAULT});
|
||
|
}
|
||
|
|
||
|
# Test low value
|
||
|
print "\nTesting Low Value\n";
|
||
|
my $cmd_params = "";
|
||
|
foreach (@{$params}) {
|
||
|
$cmd_params = $cmd_params . "$_->{NAME}=$_->{LOW} ";
|
||
|
}
|
||
|
load_module($cmd_params) or die;
|
||
|
|
||
|
foreach (@{$params}) {
|
||
|
test ($_->{NAME}, $_->{LOW});
|
||
|
}
|
||
|
|
||
|
# Test high value
|
||
|
print "\nTesting High Value\n";
|
||
|
$cmd_params = "";
|
||
|
foreach (@{$params}) {
|
||
|
$cmd_params = $cmd_params . "$_->{NAME}=$_->{HIGH} ";
|
||
|
}
|
||
|
load_module($cmd_params) or die;
|
||
|
|
||
|
foreach (@{$params}) {
|
||
|
test ($_->{NAME}, $_->{HIGH});
|
||
|
}
|
||
|
|
||
|
# Test Enum
|
||
|
print "\nTesting Enumerated\n";
|
||
|
foreach (@{$params}) {
|
||
|
if (defined $_->{ENUM}) {
|
||
|
my $value;
|
||
|
foreach $value (@{$_->{ENUM}}) {
|
||
|
$cmd_params = "$_->{NAME}=$value";
|
||
|
load_module($cmd_params) or die;
|
||
|
test ($_->{NAME}, $value);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# Test Invalid Values
|
||
|
print "\nTesting Invalid Values\n";
|
||
|
$cmd_params = "";
|
||
|
foreach (@{$params}) {
|
||
|
$cmd_params = $cmd_params . sprintf "$_->{NAME}=%d ", $_->{LOW}-1;
|
||
|
}
|
||
|
load_module($cmd_params) or die;
|
||
|
|
||
|
foreach (@{$params}) {
|
||
|
test ($_->{NAME}, $_->{DEFAULT});
|
||
|
}
|
||
|
|
||
|
$cmd_params = "";
|
||
|
foreach (@{$params}) {
|
||
|
$cmd_params = $cmd_params . sprintf "$_->{NAME}=%d ", $_->{HIGH}+1;
|
||
|
}
|
||
|
load_module($cmd_params) or die;
|
||
|
|
||
|
foreach (@{$params}) {
|
||
|
test ($_->{NAME}, $_->{DEFAULT});
|
||
|
}
|
||
|
|
||
|
print "\nTesting Enumerated\n";
|
||
|
foreach (@{$params}) {
|
||
|
if (defined $_->{ENUM}) {
|
||
|
my $value;
|
||
|
foreach $value (@{$_->{ENUM}}) {
|
||
|
$value = $value + 1;
|
||
|
$cmd_params = "$_->{NAME}=$value";
|
||
|
load_module($cmd_params) or die;
|
||
|
test ($_->{NAME}, $_->{DEFAULT});
|
||
|
$value = $value - 2;
|
||
|
$cmd_params = "$_->{NAME}=$value";
|
||
|
load_module($cmd_params) or die;
|
||
|
test ($_->{NAME}, $_->{DEFAULT});
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
test_status() or die;
|
||
|
}
|
||
|
|
||
|
test_main();
|
||
|
0;
|