OSDN Git Service

* public snapshot of sid simulator
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / testsuite / sidcomp.lcd / lcd1val.exp
1 set test "sid configuration"
2 sid_config_component_test_with_tracing "lcd1.conf" \
3     "load [sid_find_file liblcd-char-display.la] lcd_char_display_component_library" \
4     "hw-lcd-char-display"
5 pass $test
6
7 set test "sid startup"
8 if [sid_start "lcd1.conf"] then { pass $test } else { fail $test ; return }
9
10 set test "check attribute list"
11 sid_assert_includes_all "sid::component::attribute_names $victim" {state-snapshot width height}
12
13 set category "pin"
14 set test "check $category attribute list"
15 sid_assert_includes_all "sid::component::attribute_names_in_category $victim $category" {row-col FR init}
16
17 set category "register"
18 set test "check $category attribute list"
19 set r_attr [sid_cmd "sid::component::attribute_names_in_category $victim $category"]
20 if {$r_attr == ""} then { pass $test } else { fail $test }
21
22 set category "watchable"
23 set test "check $category attribute list"
24 sid_assert_includes_all "sid::component::attribute_names_in_category $victim $category" {row-col FR init}
25
26 set category "setting"
27 set test "check $category attribute list"
28 sid_assert_includes_all "sid::component::attribute_names_in_category $victim $category" {width height}
29
30 set test "check default value for width"
31 set default_value [sid_cmd "sid::component::attribute_value $victim width"]
32 if {$default_value == "80"} then { pass $test } else { fail $test }
33
34 set test "check default value for height"
35 set default_value [sid_cmd "sid::component::attribute_value $victim height"]
36 if {$default_value == "24"} then { pass $test } else { fail $test }
37
38 set test "get FR pin"
39 set FR_pin [sid_cmd "sid::component::find_pin $victim FR"]
40 if {$FR_pin != ""} { pass $test } else { fail $test }
41
42 foreach value {0 1} {
43 set test "drive FR pin with $value"
44 sid_assert_success "sid::pin::driven_h4 $FR_pin $value"
45 }
46
47 set test "get row-col pin"
48 set row_col_pin [sid_cmd "sid::component::find_pin $victim row-col"]
49 if {$row_col_pin != ""} { pass $test } else { fail $test }
50
51 for {set value 0} {$value < 10} {incr value} {
52 set test "drive row-col pin with $value"
53 sid_assert_success "sid::pin::driven_h4 $FR_pin $value"
54 }
55
56 set test "Save state"
57 set value1 [sid_cmd "sid::component::set_attribute_value $victim width 800"]
58 set value2 [sid_cmd "sid::component::set_attribute_value $victim height 240"]
59 set state [sid_cmd "sid::component::attribute_value $victim state-snapshot"]
60 if {$state != "" && $value1 == "ok" && $value2 == "ok"} then { pass $test } else { fail $test }
61
62 set test "Change the width setting to 100"
63 set value [sid_cmd "sid::component::set_attribute_value $victim width 100"]
64 if {$value == "ok"} then { pass $test } else { fail $test }
65
66 set test "Check the width setting"
67 set value [sid_cmd "sid::component::attribute_value $victim width"]
68 if {$value == "100"} then { pass $test } else { fail $test }
69
70 set test "Change the height setting to 12"
71 set value [sid_cmd "sid::component::set_attribute_value $victim height 12"]
72 if {$value == "ok"} then { pass $test } else { fail $test }
73
74 set test "Check the height setting"
75 set value [sid_cmd "sid::component::attribute_value $victim height"]
76 if {$value == "12"} then { pass $test } else { fail $test }
77
78 set test "Restore previous state"
79 sid_cmd "sid::pin::driven_h4 $FR_pin 0"
80 set status [sid_cmd "sid::component::set_attribute_value $victim state-snapshot $state"]
81 if {$status == "ok"} then { pass $test } else { fail $test }
82
83
84 set test "sid stop"
85 if [sid_stop] then { pass $test } else { fail $test ; return }
86
87
88 # zap temp file if tests were successful 
89 global exit_status
90 if {$exit_status == "0"} then { file delete "lcd1.conf" }