blob: c255fd64890a4274906ae2339ff0cf8c82c7c897 [file] [log] [blame]
Elliott Hughesdc75b012017-07-05 13:54:44 -07001# Automake input for strace tests.
2#
3# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
4# Copyright (c) 2011-2017 The strace developers.
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# 3. The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29OS = linux
30ARCH = @arch_m32@
31MPERS_NAME = m32
32ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -m32
33AM_CFLAGS = $(WARN_CFLAGS)
34AM_CPPFLAGS = $(ARCH_MFLAGS) \
35 -I$(builddir) \
36 -I$(top_builddir)/$(OS)/$(ARCH) \
37 -I$(top_srcdir)/$(OS)/$(ARCH) \
38 -I$(top_builddir)/$(OS) \
39 -I$(top_srcdir)/$(OS) \
40 -I$(top_builddir) \
41 -I$(top_srcdir)
42AM_LDFLAGS = $(ARCH_MFLAGS)
43
44libtests_a_SOURCES = \
45 create_nl_socket.c \
46 errno2name.c \
47 error_msg.c \
48 fill_memory.c \
49 get_page_size.c \
50 get_sigset_size.c \
51 hexdump_strdup.c \
52 hexquote_strndup.c \
53 inode_of_sockfd.c \
54 libmmsg.c \
55 libsocketcall.c \
56 overflowuid.c \
57 pipe_maxfd.c \
58 print_quoted_string.c \
59 print_time.c \
60 printflags.c \
61 printxval.c \
62 signal2name.c \
63 skip_unavailable.c \
64 sprintrc.c \
65 tail_alloc.c \
66 test_nlattr.h \
67 tests.h \
68 tprintf.c \
69 # end of libtests_a_SOURCES
70libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
71check_LIBRARIES = libtests.a
72LDADD = libtests.a
73
74include pure_executables.am
75
76check_PROGRAMS = $(PURE_EXECUTABLES) \
77 answer \
78 attach-f-p \
79 attach-f-p-cmd \
80 attach-p-cmd-cmd \
81 attach-p-cmd-p \
82 block_reset_raise_run \
83 caps-abbrev \
84 count-f \
85 execve-v \
86 execveat-v \
87 filter-unavailable \
88 fork-f \
89 getpid \
90 getppid \
91 gettid \
92 int_0x80 \
93 ioctl_dm-v \
94 ioctl_evdev-v \
95 ioctl_loop-nv \
96 ioctl_loop-v \
97 ioctl_nsfs \
98 ioctl_rtc-v \
99 ksysent \
100 mmsg-silent \
101 mmsg_name-v \
102 msg_control-v \
103 net-accept-connect \
104 netlink_inet_diag \
105 netlink_netlink_diag \
106 netlink_unix_diag \
107 nsyscalls \
108 pc \
109 perf_event_open_nonverbose \
110 perf_event_open_unabbrev \
111 ppoll-v \
112 prctl-seccomp-filter-v \
113 prctl-seccomp-strict \
114 print_maxfd \
115 qual_fault \
116 qual_inject-error-signal \
117 qual_inject-retval \
118 qual_inject-signal \
119 qual_signal \
120 quotactl-v \
121 quotactl-xfs-v \
122 redirect-fds \
123 restart_syscall \
124 run_expect_termsig \
125 scm_rights \
126 seccomp-filter-v \
127 seccomp-strict \
128 set_ptracer_any \
129 signal_receive \
130 sleep \
131 stack-fcall \
132 threads-execve \
133 unblock_reset_raise \
134 unix-pair-send-recv \
135 unix-pair-sendto-recvfrom \
136 vfork-f \
137 wait4-v \
138 waitid-v \
139 zeroargc \
140 # end of check_PROGRAMS
141
142attach_f_p_LDADD = -lrt -lpthread $(LDADD)
143clock_xettime_LDADD = -lrt $(LDADD)
144count_f_LDADD = -lpthread $(LDADD)
145filter_unavailable_LDADD = -lpthread $(LDADD)
146fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
147fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
148ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
149lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
150mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
151mq_LDADD = -lrt $(LDADD)
152mq_sendrecv_LDADD = -lrt $(LDADD)
153mq_sendrecv_read_LDADD = -lrt $(LDADD)
154mq_sendrecv_write_LDADD = -lrt $(LDADD)
155newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
156pc_LDADD = $(dl_LIBS) $(LDADD)
157pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
158preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
159preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
160pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
161stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
162statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
163threads_execve_LDADD = -lrt -lpthread $(LDADD)
164times_LDADD = -lrt $(LDADD)
165truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
166uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
167
168stack_fcall_SOURCES = stack-fcall.c \
169 stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
170
171include gen_tests.am
172
173if USE_LIBUNWIND
174LIBUNWIND_TESTS = strace-k.test
175else
176LIBUNWIND_TESTS =
177endif
178
179DECODER_TESTS = \
180 brk.test \
181 btrfs-v.test \
182 btrfs-vw.test \
183 btrfs-w.test \
184 caps-abbrev.test \
185 caps.test \
186 eventfd.test \
187 execve-v.test \
188 execve.test \
189 fadvise64.test \
190 futex.test \
191 getuid.test \
192 ioctl.test \
193 ioctl_dm-v.test \
194 ioctl_dm.test \
195 ioctl_loop-nv.test \
196 ioctl_nsfs.test \
197 ioctl_sock_gifconf.test \
198 ipc_msgbuf.test \
199 llseek.test \
200 lseek.test \
201 mmap.test \
202 net-y-unix.test \
203 net-yy-inet.test \
204 net-yy-netlink.test \
205 net-yy-unix.test \
206 net.test \
207 netlink_sock_diag.test \
208 nsyscalls.test \
209 oldselect.test \
210 personality.test \
211 pipe.test \
212 poll.test \
213 prctl-arg2-intptr.test \
214 prctl-dumpable.test \
215 prctl-name.test \
216 prctl-no-args.test \
217 prctl-pdeathsig.test \
218 prctl-seccomp-filter-v.test \
219 prctl-seccomp-strict.test \
220 prctl-securebits.test \
221 prctl-tid_address.test \
222 prctl-tsc.test \
223 qual_fault-exit_group.test \
224 readv.test \
225 rt_sigaction.test \
226 scm_rights-fd.test \
227 seccomp-strict.test \
228 sigaltstack.test \
229 sun_path.test \
230 uio.test \
231 umount.test \
232 umount2.test \
233 umovestr.test \
234 umovestr2.test \
235 uname.test \
236 unix-pair-send-recv.test \
237 unix-pair-sendto-recvfrom.test \
238 # end of DECODER_TESTS
239
240MISC_TESTS = \
241 attach-f-p.test \
242 attach-p-cmd.test \
243 bexecve.test \
244 count-f.test \
245 count.test \
246 detach-running.test \
247 detach-sleeping.test \
248 detach-stopped.test \
249 filter-unavailable.test \
250 get_regs.test \
251 interactive_block.test \
252 ksysent.test \
253 opipe.test \
254 options-syntax.test \
255 pc.test \
256 qual_fault-syntax.test \
257 qual_fault.test \
258 qual_inject-error-signal.test \
259 qual_inject-retval.test \
260 qual_inject-signal.test \
261 qual_inject-syntax.test \
262 qual_signal.test \
263 qual_syscall.test \
264 redirect-fds.test \
265 redirect.test \
266 restart_syscall.test \
267 strace-C.test \
268 strace-E.test \
269 strace-S.test \
270 strace-T.test \
271 strace-V.test \
272 strace-ff.test \
273 strace-r.test \
274 strace-t.test \
275 strace-tt.test \
276 strace-ttt.test \
277 termsig.test \
278 threads-execve.test \
279 # end of MISC_TESTS
280
281TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
282
283XFAIL_TESTS_ =
284XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
285XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
286XFAIL_TESTS_x86_64 = int_0x80.gen.test
287XFAIL_TESTS_x32 = int_0x80.gen.test
288XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
289
290TEST_LOG_COMPILER = env
291AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
292
293@VALGRIND_CHECK_RULES@
294VALGRIND_FLAGS = --quiet
295VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
296
297EXTRA_DIST = \
298 caps-abbrev.awk \
299 caps.awk \
300 clock.in \
301 count-f.expected \
302 eventfd.expected \
303 fadvise.h \
304 filter-unavailable.expected \
305 fstatat.c \
306 fstatx.c \
307 gen_pure_executables.sh \
308 gen_tests.in \
309 gen_tests.sh \
310 getresugid.c \
311 init.sh \
312 init_delete_module.h \
313 ioctl-v.sh \
314 ipc.sh \
315 ipc_msgbuf.expected \
316 ksysent.sed \
317 lstatx.c \
318 match.awk \
319 net.expected \
320 oldselect.expected \
321 pipe.expected \
322 process_vm_readv_writev.c \
323 pure_executables.list \
324 qual_fault-exit_group.expected \
325 qual_inject-error-signal.expected \
326 qual_inject-signal.expected \
327 quotactl.h \
328 regex.in \
329 rt_sigaction.awk \
330 run.sh \
331 sched.in \
332 scno_tampering.sh \
333 setfsugid.c \
334 setresugid.c \
335 setreugid.c \
336 setugid.c \
337 sigaltstack.expected \
338 sockname.c \
339 strace-C.expected \
340 strace-E.expected \
341 strace-T.expected \
342 strace-ff.expected \
343 strace-k.test \
344 strace-r.expected \
345 strace.supp \
346 struct_flock.c \
347 sun_path.expected \
348 trace_fstat.in \
349 trace_fstatfs.in \
350 trace_lstat.in \
351 trace_question.in \
352 trace_stat.in \
353 trace_stat_like.in \
354 trace_statfs.in \
355 trace_statfs_like.in \
356 uio.expected \
357 umode_t.c \
358 umovestr.expected \
359 unix-pair-send-recv.expected \
360 unix-pair-sendto-recvfrom.expected \
361 xchownx.c \
362 xgetrlimit.c \
363 xselect.c \
364 xstatfs.c \
365 xstatfs64.c \
366 xstatfsx.c \
367 xstatx.c \
368 xutimes.c \
369 $(TESTS)
370
371ksysent.h: $(srcdir)/ksysent.sed
372 echo '#include <asm/unistd.h>' | \
373 $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
374 LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
375 mv -f $@.t2 $@
376 rm -f $@.t1
377
378ksysent.$(OBJEXT): ksysent.h
379
380objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
381$(objects): scno.h
382
383clean-local: clean-local-check
384.PHONY: clean-local-check
385clean-local-check:
386 -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
387
388CLEANFILES = ksysent.h
389
390include ../scno.am