forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
2.6 KiB
133 lines
2.6 KiB
#!/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;
|
|
|