xref: /freebsd/contrib/netbsd-tests/lib/libcurses/t_curses.sh (revision 9268022b74279434ed6300244e3f977e56a8ceb5)
1*57718be8SEnji Cooper
2*57718be8SEnji Cooperh_run()
3*57718be8SEnji Cooper{
4*57718be8SEnji Cooper	file="$(atf_get_srcdir)/tests/${1}"
5*57718be8SEnji Cooper
6*57718be8SEnji Cooper	export COLUMNS=80
7*57718be8SEnji Cooper	export LINES=24
8*57718be8SEnji Cooper	$(atf_get_srcdir)/director \
9*57718be8SEnji Cooper	    -T $(atf_get_srcdir) \
10*57718be8SEnji Cooper	    -t atf \
11*57718be8SEnji Cooper	    -I $(atf_get_srcdir)/tests \
12*57718be8SEnji Cooper	    -C $(atf_get_srcdir)/check_files \
13*57718be8SEnji Cooper	    -s $(atf_get_srcdir)/slave $file || atf_fail "test ${file} failed"
14*57718be8SEnji Cooper}
15*57718be8SEnji Cooper
16*57718be8SEnji Cooperatf_test_case startup
17*57718be8SEnji Cooperstartup_head()
18*57718be8SEnji Cooper{
19*57718be8SEnji Cooper	atf_set "descr" "Checks curses initialisation sequence"
20*57718be8SEnji Cooper}
21*57718be8SEnji Cooperstartup_body()
22*57718be8SEnji Cooper{
23*57718be8SEnji Cooper	h_run start
24*57718be8SEnji Cooper}
25*57718be8SEnji Cooper
26*57718be8SEnji Cooperatf_test_case addch
27*57718be8SEnji Cooperaddch_head()
28*57718be8SEnji Cooper{
29*57718be8SEnji Cooper	atf_set "descr" "Tests adding a chtype to stdscr"
30*57718be8SEnji Cooper}
31*57718be8SEnji Cooperaddch_body()
32*57718be8SEnji Cooper{
33*57718be8SEnji Cooper	h_run addch
34*57718be8SEnji Cooper}
35*57718be8SEnji Cooper
36*57718be8SEnji Cooperatf_test_case addchstr
37*57718be8SEnji Cooperaddchstr_head()
38*57718be8SEnji Cooper{
39*57718be8SEnji Cooper	atf_set "descr" "Tests adding a chtype string to stdscr"
40*57718be8SEnji Cooper}
41*57718be8SEnji Cooperaddchstr_body()
42*57718be8SEnji Cooper{
43*57718be8SEnji Cooper	h_run addchstr
44*57718be8SEnji Cooper}
45*57718be8SEnji Cooper
46*57718be8SEnji Cooperatf_test_case addchnstr
47*57718be8SEnji Cooperaddchnstr_head()
48*57718be8SEnji Cooper{
49*57718be8SEnji Cooper	atf_set "descr" "Tests adding bytes from a chtype string to stdscr"
50*57718be8SEnji Cooper}
51*57718be8SEnji Cooperaddchnstr_body()
52*57718be8SEnji Cooper{
53*57718be8SEnji Cooper	h_run addchnstr
54*57718be8SEnji Cooper}
55*57718be8SEnji Cooper
56*57718be8SEnji Cooperatf_test_case addstr
57*57718be8SEnji Cooperaddstr_head()
58*57718be8SEnji Cooper{
59*57718be8SEnji Cooper	atf_set "descr" "Tests adding bytes from a string to stdscr"
60*57718be8SEnji Cooper}
61*57718be8SEnji Cooperaddstr_body()
62*57718be8SEnji Cooper{
63*57718be8SEnji Cooper	h_run addstr
64*57718be8SEnji Cooper}
65*57718be8SEnji Cooper
66*57718be8SEnji Cooperatf_test_case addnstr
67*57718be8SEnji Cooperaddnstr_head()
68*57718be8SEnji Cooper{
69*57718be8SEnji Cooper	atf_set "descr" "Tests adding bytes from a string to stdscr"
70*57718be8SEnji Cooper}
71*57718be8SEnji Cooperaddnstr_body()
72*57718be8SEnji Cooper{
73*57718be8SEnji Cooper	h_run addnstr
74*57718be8SEnji Cooper}
75*57718be8SEnji Cooper
76*57718be8SEnji Cooperatf_test_case getch
77*57718be8SEnji Coopergetch_head()
78*57718be8SEnji Cooper{
79*57718be8SEnji Cooper	atf_set "descr" "Checks reading a character input"
80*57718be8SEnji Cooper}
81*57718be8SEnji Coopergetch_body()
82*57718be8SEnji Cooper{
83*57718be8SEnji Cooper	h_run getch
84*57718be8SEnji Cooper}
85*57718be8SEnji Cooper
86*57718be8SEnji Cooperatf_test_case timeout
87*57718be8SEnji Coopertimeout_head()
88*57718be8SEnji Cooper{
89*57718be8SEnji Cooper	atf_set "descr" "Checks timeout when reading a character"
90*57718be8SEnji Cooper}
91*57718be8SEnji Coopertimeout_body()
92*57718be8SEnji Cooper{
93*57718be8SEnji Cooper	h_run timeout
94*57718be8SEnji Cooper}
95*57718be8SEnji Cooper
96*57718be8SEnji Cooperatf_test_case window
97*57718be8SEnji Cooperwindow_head()
98*57718be8SEnji Cooper{
99*57718be8SEnji Cooper	atf_set "descr" "Checks window creation"
100*57718be8SEnji Cooper}
101*57718be8SEnji Cooperwindow_body()
102*57718be8SEnji Cooper{
103*57718be8SEnji Cooper	h_run window
104*57718be8SEnji Cooper}
105*57718be8SEnji Cooper
106*57718be8SEnji Cooperatf_test_case wborder
107*57718be8SEnji Cooperwborder_head()
108*57718be8SEnji Cooper{
109*57718be8SEnji Cooper	atf_set "descr" "Checks drawing a border around a window"
110*57718be8SEnji Cooper}
111*57718be8SEnji Cooperwborder_body()
112*57718be8SEnji Cooper{
113*57718be8SEnji Cooper	h_run wborder
114*57718be8SEnji Cooper}
115*57718be8SEnji Cooper
116*57718be8SEnji Cooperatf_test_case box
117*57718be8SEnji Cooperbox_head()
118*57718be8SEnji Cooper{
119*57718be8SEnji Cooper	atf_set "descr" "Checks drawing a box around a window"
120*57718be8SEnji Cooper}
121*57718be8SEnji Cooperbox_body()
122*57718be8SEnji Cooper{
123*57718be8SEnji Cooper	h_run box
124*57718be8SEnji Cooper}
125*57718be8SEnji Cooper
126*57718be8SEnji Cooperatf_test_case wprintw
127*57718be8SEnji Cooperwprintw_head()
128*57718be8SEnji Cooper{
129*57718be8SEnji Cooper	atf_set "descr" "Checks printing to a window"
130*57718be8SEnji Cooper}
131*57718be8SEnji Cooperwprintw_body()
132*57718be8SEnji Cooper{
133*57718be8SEnji Cooper	h_run wprintw
134*57718be8SEnji Cooper}
135*57718be8SEnji Cooper
136*57718be8SEnji Cooperatf_test_case wscrl
137*57718be8SEnji Cooperwscrl_head()
138*57718be8SEnji Cooper{
139*57718be8SEnji Cooper	atf_set "descr" "Check window scrolling"
140*57718be8SEnji Cooper}
141*57718be8SEnji Cooperwscrl_body()
142*57718be8SEnji Cooper{
143*57718be8SEnji Cooper	h_run wscrl
144*57718be8SEnji Cooper}
145*57718be8SEnji Cooper
146*57718be8SEnji Cooperatf_test_case mvwin
147*57718be8SEnji Coopermvwin_head()
148*57718be8SEnji Cooper{
149*57718be8SEnji Cooper	atf_set "descr" "Check moving a window"
150*57718be8SEnji Cooper}
151*57718be8SEnji Coopermvwin_body()
152*57718be8SEnji Cooper{
153*57718be8SEnji Cooper	h_run mvwin
154*57718be8SEnji Cooper}
155*57718be8SEnji Cooper
156*57718be8SEnji Cooperatf_test_case getstr
157*57718be8SEnji Coopergetstr_head()
158*57718be8SEnji Cooper{
159*57718be8SEnji Cooper	atf_set "descr" "Check getting a string from input"
160*57718be8SEnji Cooper}
161*57718be8SEnji Coopergetstr_body()
162*57718be8SEnji Cooper{
163*57718be8SEnji Cooper	h_run getstr
164*57718be8SEnji Cooper}
165*57718be8SEnji Cooper
166*57718be8SEnji Cooperatf_test_case termattrs
167*57718be8SEnji Coopertermattrs_head()
168*57718be8SEnji Cooper{
169*57718be8SEnji Cooper	atf_set "descr" "Check the terminal attributes"
170*57718be8SEnji Cooper}
171*57718be8SEnji Coopertermattrs_body()
172*57718be8SEnji Cooper{
173*57718be8SEnji Cooper	h_run termattrs
174*57718be8SEnji Cooper}
175*57718be8SEnji Cooper
176*57718be8SEnji Cooperatf_test_case assume_default_colors
177*57718be8SEnji Cooperassume_default_colors_head()
178*57718be8SEnji Cooper{
179*57718be8SEnji Cooper	atf_set "descr" "Check setting the default color pair"
180*57718be8SEnji Cooper}
181*57718be8SEnji Cooperassume_default_colors_body()
182*57718be8SEnji Cooper{
183*57718be8SEnji Cooper	h_run assume_default_colors
184*57718be8SEnji Cooper}
185*57718be8SEnji Cooper
186*57718be8SEnji Cooperatf_test_case attributes
187*57718be8SEnji Cooperattributes_head()
188*57718be8SEnji Cooper{
189*57718be8SEnji Cooper	atf_set "descr" "Check setting, clearing and getting of attributes"
190*57718be8SEnji Cooper}
191*57718be8SEnji Cooperattributes_body()
192*57718be8SEnji Cooper{
193*57718be8SEnji Cooper	h_run attributes
194*57718be8SEnji Cooper}
195*57718be8SEnji Cooper
196*57718be8SEnji Cooperatf_test_case beep
197*57718be8SEnji Cooperbeep_head()
198*57718be8SEnji Cooper{
199*57718be8SEnji Cooper	atf_set "descr" "Check sending a beep"
200*57718be8SEnji Cooper}
201*57718be8SEnji Cooperbeep_body()
202*57718be8SEnji Cooper{
203*57718be8SEnji Cooper	h_run beep
204*57718be8SEnji Cooper}
205*57718be8SEnji Cooper
206*57718be8SEnji Cooperatf_test_case background
207*57718be8SEnji Cooperbackground_head()
208*57718be8SEnji Cooper{
209*57718be8SEnji Cooper	atf_set "descr" "Check setting background character and attributes for both stdscr and a window."
210*57718be8SEnji Cooper}
211*57718be8SEnji Cooperbackground_body()
212*57718be8SEnji Cooper{
213*57718be8SEnji Cooper	h_run background
214*57718be8SEnji Cooper}
215*57718be8SEnji Cooper
216*57718be8SEnji Cooperatf_test_case can_change_color
217*57718be8SEnji Coopercan_change_color_head()
218*57718be8SEnji Cooper{
219*57718be8SEnji Cooper	atf_set "descr" "Check if the terminal can change colours"
220*57718be8SEnji Cooper}
221*57718be8SEnji Coopercan_change_color_body()
222*57718be8SEnji Cooper{
223*57718be8SEnji Cooper	h_run can_change_color
224*57718be8SEnji Cooper}
225*57718be8SEnji Cooper
226*57718be8SEnji Cooperatf_test_case cbreak
227*57718be8SEnji Coopercbreak_head()
228*57718be8SEnji Cooper{
229*57718be8SEnji Cooper	atf_set "descr" "Check cbreak mode works"
230*57718be8SEnji Cooper}
231*57718be8SEnji Coopercbreak_body()
232*57718be8SEnji Cooper{
233*57718be8SEnji Cooper	h_run cbreak
234*57718be8SEnji Cooper}
235*57718be8SEnji Cooper
236*57718be8SEnji Cooperatf_test_case clear
237*57718be8SEnji Cooperclear_head()
238*57718be8SEnji Cooper{
239*57718be8SEnji Cooper	atf_set "descr" "Check clear and erase work"
240*57718be8SEnji Cooper}
241*57718be8SEnji Cooperclear_body()
242*57718be8SEnji Cooper{
243*57718be8SEnji Cooper	h_run clear
244*57718be8SEnji Cooper}
245*57718be8SEnji Cooper
246*57718be8SEnji Cooperatf_test_case copywin
247*57718be8SEnji Coopercopywin_head()
248*57718be8SEnji Cooper{
249*57718be8SEnji Cooper	atf_set "descr" "Check all the modes of copying a window work"
250*57718be8SEnji Cooper}
251*57718be8SEnji Coopercopywin_body()
252*57718be8SEnji Cooper{
253*57718be8SEnji Cooper	h_run copywin
254*57718be8SEnji Cooper}
255*57718be8SEnji Cooper
256*57718be8SEnji Cooperatf_test_case curs_set
257*57718be8SEnji Coopercurs_set_head()
258*57718be8SEnji Cooper{
259*57718be8SEnji Cooper	atf_set "descr" "Check setting the cursor visibility works"
260*57718be8SEnji Cooper}
261*57718be8SEnji Coopercurs_set_body()
262*57718be8SEnji Cooper{
263*57718be8SEnji Cooper	h_run curs_set
264*57718be8SEnji Cooper}
265*57718be8SEnji Cooper
266*57718be8SEnji Cooperatf_init_test_cases()
267*57718be8SEnji Cooper{
268*57718be8SEnji Cooper	atf_add_test_case startup
269*57718be8SEnji Cooper	atf_add_test_case addch
270*57718be8SEnji Cooper	atf_add_test_case addchstr
271*57718be8SEnji Cooper	atf_add_test_case addchnstr
272*57718be8SEnji Cooper	atf_add_test_case addstr
273*57718be8SEnji Cooper	atf_add_test_case addnstr
274*57718be8SEnji Cooper	atf_add_test_case getch
275*57718be8SEnji Cooper	atf_add_test_case timeout
276*57718be8SEnji Cooper	atf_add_test_case window
277*57718be8SEnji Cooper	atf_add_test_case wborder
278*57718be8SEnji Cooper	atf_add_test_case box
279*57718be8SEnji Cooper	atf_add_test_case wprintw
280*57718be8SEnji Cooper	atf_add_test_case wscrl
281*57718be8SEnji Cooper	atf_add_test_case mvwin
282*57718be8SEnji Cooper	atf_add_test_case getstr
283*57718be8SEnji Cooper	atf_add_test_case termattrs
284*57718be8SEnji Cooper	atf_add_test_case can_change_color
285*57718be8SEnji Cooper	atf_add_test_case assume_default_colors
286*57718be8SEnji Cooper	atf_add_test_case attributes
287*57718be8SEnji Cooper#	atf_add_test_case beep  # comment out for now - return is wrong
288*57718be8SEnji Cooper	atf_add_test_case background
289*57718be8SEnji Cooper	atf_add_test_case cbreak
290*57718be8SEnji Cooper	atf_add_test_case clear
291*57718be8SEnji Cooper	atf_add_test_case copywin
292*57718be8SEnji Cooper	atf_add_test_case curs_set
293*57718be8SEnji Cooper}
294*57718be8SEnji Cooper
295