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" \
8 if [sid_start "lcd1.conf"] then { pass $test } else { fail $test ; return }
10 set test "check attribute list"
11 sid_assert_includes_all "sid::component::attribute_names $victim" {state-snapshot width height}
14 set test "check $category attribute list"
15 sid_assert_includes_all "sid::component::attribute_names_in_category $victim $category" {row-col FR init}
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 }
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}
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}
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 }
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 }
39 set FR_pin [sid_cmd "sid::component::find_pin $victim FR"]
40 if {$FR_pin != ""} { pass $test } else { fail $test }
43 set test "drive FR pin with $value"
44 sid_assert_success "sid::pin::driven_h4 $FR_pin $value"
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 }
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"
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 }
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 }
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 }
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 }
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 }
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 }
85 if [sid_stop] then { pass $test } else { fail $test ; return }
88 # zap temp file if tests were successful
90 if {$exit_status == "0"} then { file delete "lcd1.conf" }