219 lines
5.3 KiB
Tcl
219 lines
5.3 KiB
Tcl
#-------------------------------------------------------------------------
|
|
# This is a regression test for the SICS data module
|
|
#
|
|
# Mark Koennecke, November 2006
|
|
#-------------------------------------------------------------------------
|
|
puts stdout "Testing SicsData"
|
|
data clear
|
|
|
|
test sicsdata-1.0 {Test writing int} -body {
|
|
config rights User User
|
|
for {set i 0} {$i < 5} { incr i} {
|
|
testOK "data putint $i $i"
|
|
}
|
|
for {set i 0} {$i < 5} { incr i} {
|
|
set val [SICSValue "data get $i"]
|
|
if {$val != $i} {
|
|
error "SicsData returned a bad value: expected $i received $val"
|
|
}
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.1 {Test writing float} -body {
|
|
for {set i 0} {$i < 5} { incr i} {
|
|
set v [expr $i * 1.0]
|
|
testOK "data putfloat $i $v"
|
|
}
|
|
for {set i 0} {$i < 5} { incr i} {
|
|
set val [SICSValue "data get $i"]
|
|
if {abs($val - $i) > .000001} {
|
|
error "SicsData returned a bad value: expected $i received $val"
|
|
}
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.2 {Test used} -body {
|
|
set val [SICSValue "data used"]
|
|
if {$val != 5} {
|
|
error "Expected data used to be 5, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.3 {Test clear} -body {
|
|
testOK "data clear"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 0} {
|
|
error "Expected data used to be 0, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
xxxscan clear
|
|
xxxscan add a4 2. .2
|
|
xxxscan run 30 timer 2
|
|
|
|
test sicsdata-1.4 {Testing scancounts} -body {
|
|
testOK "data copyscancounts 0 xxxscan"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 30} {
|
|
error "Expected data used to be 30, not $val"
|
|
}
|
|
set val [SICSValue "data get 0"]
|
|
if {$val != 10} {
|
|
error "Expected data 0 to be 10, not $val"
|
|
}
|
|
set val [SICSValue "data get 10"]
|
|
if {$val != 41} {
|
|
error "Expected data 10 to be 41, not $val"
|
|
}
|
|
set val [SICSValue "data get 20"]
|
|
if {$val != 171} {
|
|
error "Expected data 10 to be 171, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.5 {Testing scanmonitor} -body {
|
|
testOK "data clear"
|
|
testOK "data copyscanmon 0 xxxscan 2"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 30} {
|
|
error "Expected data used to be 30, not $val"
|
|
}
|
|
set val [SICSValue "data get 0"]
|
|
if {$val != 0} {
|
|
error "Expected data 0 to be 0, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.6 {Testing scanvar} -body {
|
|
testOK "data copyscanvar 0 xxxscan 0"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 30} {
|
|
error "Expected data used to be 30, not $val"
|
|
}
|
|
set val [SICSValue "data get 0"]
|
|
if {abs($val - 2.0) > .001} {
|
|
error "Expected data 0 to be 2.0, not $val"
|
|
}
|
|
set val [SICSValue "data get 20"]
|
|
if {abs($val - 6.0) > .001} {
|
|
error "Expected data 20 to be 6.0, not $val"
|
|
}
|
|
set val [SICSValue "data get 29"]
|
|
if {abs($val - 7.8) > .001} {
|
|
error "Expected data 29 to be 7.8, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
config rights Mugger Mugger
|
|
tof genbin 20 10 50
|
|
tof init
|
|
|
|
test sicsdata-1.7 {Testing timebin} -body {
|
|
testOK "data clear"
|
|
testOK "data copytimebin 0 tof"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 50} {
|
|
error "Expected data used to be 50, not $val"
|
|
}
|
|
set val [SICSValue "data get 0"]
|
|
if {abs($val - 20.0) > .001} {
|
|
error "Expected data 0 to be 20.0, not $val"
|
|
}
|
|
set val [SICSValue "data get 49"]
|
|
if {abs($val - 510.0) > .001} {
|
|
error "Expected data 49 to be 510.0, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
hm initval 32
|
|
|
|
test sicsdata-1.8 {Testing hm} -body {
|
|
testOK "data clear"
|
|
testOK "data copyhm 0 hm"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 23} {
|
|
error "Expected data used to be 23, not $val"
|
|
}
|
|
set val [SICSValue "data get 0"]
|
|
if {abs($val - 32.0) > .001} {
|
|
error "Expected data 0 to be 32.0, not $val"
|
|
}
|
|
set val [SICSValue "data get 22"]
|
|
if {abs($val - 32.0) > .001} {
|
|
error "Expected data 22 to be 32.0, not $val"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.8 {Testing UU write} -body {
|
|
set text [data writeuu hugo]
|
|
if {[string first "begin 622" $text] < 0} {
|
|
error "Bad reply on uuwrite: $text"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.9 {Testing file dump} -body {
|
|
data clear
|
|
data copyhm 0 hm
|
|
testOK "data dumpxy test.dat"
|
|
set status [catch {exec diff test.dat sicsdatasoll.dat} msg]
|
|
if {$status != 0} {
|
|
error "Difference in dump file: $msg"
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.10 {Copying sicsdata} -body {
|
|
duta clear
|
|
data clear
|
|
data copyhm 0 hm
|
|
testNoError "duta copydata 0 data 0 23"
|
|
set val [SICSValue "duta used"]
|
|
if {$val != 23} {
|
|
error "Expected data used to be 23, not $val"
|
|
}
|
|
for {set i 0} {$i < 23} {incr i} {
|
|
set val [SICSValue "duta get $"]
|
|
if {abs($val - 32.0) > .001} {
|
|
error "Expected data $i to be 32.0, not $val"
|
|
}
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
test sicsdata-1.11 {Division} -body {
|
|
|
|
config rights Mugger Mugger
|
|
duta clear
|
|
data clear
|
|
hm initval 32
|
|
data copyhm 0 hm
|
|
hm initval 16
|
|
duta copyhm 0 hm
|
|
testNoError "data divideby duta"
|
|
set val [SICSValue "data used"]
|
|
if {$val != 23} {
|
|
error "Expected data used to be 23, not $val"
|
|
}
|
|
for {set i 0} {$i < 23} {incr i} {
|
|
set val [SICSValue "data get $"]
|
|
if {abs($val - 2.0) > .001} {
|
|
error "Expected data $i to be 2.0, not $val"
|
|
}
|
|
}
|
|
return OK
|
|
} -result OK
|
|
|
|
|
|
|
|
|