]> granicus.if.org Git - strace/blob - tests/Makefile.am
prctl: add PR_GET_SPECULATION_CTRL/PR_SET_SPECULATION_CTRL decoding
[strace] / tests / Makefile.am
1 # Automake input for strace tests.
2 #
3 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
4 # Copyright (c) 2011-2018 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
29 OS = linux
30 ARCH = @arch@
31 NATIVE_ARCH = @arch_native@
32 SIZEOF_KERNEL_LONG_T = @SIZEOF_KERNEL_LONG_T@
33 SIZEOF_LONG = @SIZEOF_LONG@
34 MPERS_NAME =
35 MPERS_CC_FLAGS =
36 ARCH_MFLAGS =
37 AM_CFLAGS = $(WARN_CFLAGS)
38 AM_CPPFLAGS = $(ARCH_MFLAGS) \
39               -I$(builddir) \
40               -I$(top_builddir)/$(OS)/$(ARCH) \
41               -I$(top_srcdir)/$(OS)/$(ARCH) \
42               -I$(top_builddir)/$(OS) \
43               -I$(top_srcdir)/$(OS) \
44               -I$(top_builddir) \
45               -I$(top_srcdir) \
46               -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
47               -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
48 AM_LDFLAGS = $(ARCH_MFLAGS)
49
50 libtests_a_SOURCES = \
51         create_nl_socket.c \
52         errno2name.c \
53         error_msg.c \
54         fill_memory.c \
55         get_page_size.c \
56         get_sigset_size.c \
57         hexdump_strdup.c \
58         hexquote_strndup.c \
59         ifindex.c \
60         inode_of_sockfd.c \
61         libmmsg.c \
62         libsocketcall.c \
63         overflowuid.c \
64         pipe_maxfd.c \
65         print_quoted_string.c \
66         print_time.c \
67         printflags.c \
68         printxval.c \
69         signal2name.c \
70         skip_unavailable.c \
71         sprintrc.c \
72         tail_alloc.c \
73         test_netlink.h \
74         test_nlattr.h \
75         test_printpath.c \
76         test_printstrn.c \
77         test_ucopy.c \
78         test_ucopy.h \
79         tests.h \
80         tprintf.c \
81         # end of libtests_a_SOURCES
82 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
83 check_LIBRARIES = libtests.a
84 LDADD = libtests.a
85
86 include pure_executables.am
87
88 check_PROGRAMS = $(PURE_EXECUTABLES) \
89         _newselect-P \
90         answer \
91         attach-f-p \
92         attach-f-p-cmd \
93         attach-p-cmd-cmd \
94         attach-p-cmd-p \
95         block_reset_raise_run \
96         caps-abbrev \
97         check_sigblock \
98         check_sigign \
99         clone_parent \
100         clone_ptrace \
101         count-f \
102         delay \
103         execve-v \
104         execveat-v \
105         filter-unavailable \
106         fork-f \
107         fsync-y \
108         getpid  \
109         getppid \
110         gettid \
111         inject-nf \
112         int_0x80 \
113         ioctl_dm-v \
114         ioctl_evdev-v \
115         ioctl_loop-nv \
116         ioctl_loop-v \
117         ioctl_nsfs \
118         ioctl_rtc-v \
119         is_linux_mips_n64 \
120         ksysent \
121         list_sigaction_signum \
122         localtime \
123         mmsg-silent \
124         mmsg_name-v \
125         msg_control-v \
126         net-accept-connect \
127         netlink_inet_diag \
128         netlink_netlink_diag \
129         netlink_unix_diag \
130         nsyscalls \
131         nsyscalls-d \
132         oldselect-P \
133         oldselect-efault-P \
134         pc \
135         perf_event_open_nonverbose \
136         perf_event_open_unabbrev \
137         ppoll-v \
138         prctl-seccomp-filter-v \
139         prctl-seccomp-strict \
140         prctl-spec-inject \
141         print_maxfd \
142         qual_fault \
143         qual_inject-error-signal \
144         qual_inject-retval \
145         qual_inject-signal \
146         qual_signal \
147         quotactl-v \
148         quotactl-xfs-v \
149         redirect-fds \
150         restart_syscall \
151         run_expect_termsig \
152         scm_rights \
153         seccomp-filter-v \
154         seccomp-strict \
155         select-P \
156         set_ptracer_any \
157         set_sigblock \
158         set_sigign \
159         signal_receive \
160         sleep \
161         stack-fcall \
162         stack-fcall-mangled \
163         threads-execve \
164         unblock_reset_raise \
165         unix-pair-send-recv \
166         unix-pair-sendto-recvfrom \
167         vfork-f \
168         wait4-v \
169         waitid-v \
170         zeroargc \
171         # end of check_PROGRAMS
172
173 attach_f_p_LDADD = -lpthread $(LDADD)
174 count_f_LDADD = -lpthread $(LDADD)
175 delay_LDADD = $(clock_LIBS) $(LDADD)
176 filter_unavailable_LDADD = -lpthread $(LDADD)
177 fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
178 fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
179 ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
180 localtime_LDADD = $(clock_LIBS) $(LDADD)
181 lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
182 mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
183 mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
184 mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
185 mmap64_Xverbose_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
186 mq_LDADD = $(mq_LIBS) $(LDADD)
187 newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
188 pc_LDADD = $(dl_LIBS) $(LDADD)
189 pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
190 preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
191 preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
192 pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
193 stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
194 statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
195 threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
196 times_LDADD = $(clock_LIBS) $(LDADD)
197 truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
198 uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
199
200 stack_fcall_SOURCES = stack-fcall.c \
201         stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
202
203 stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
204         stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
205         stack-fcall-mangled-2.c stack-fcall-mangled-3.c
206
207 include gen_tests.am
208
209 if ENABLE_STACKTRACE
210 STACKTRACE_TESTS = strace-k.test
211 if USE_DEMANGLE
212 STACKTRACE_TESTS += strace-k-demangle.test
213 endif
214 else
215 STACKTRACE_TESTS =
216 endif
217
218 DECODER_TESTS = \
219         brk.test \
220         btrfs-v.test \
221         btrfs-vw.test \
222         btrfs-vwX.test \
223         btrfs-vX.test \
224         btrfs-w.test \
225         btrfs-wX.test \
226         btrfs-X.test \
227         caps-abbrev.test \
228         caps.test \
229         eventfd.test \
230         execve-v.test \
231         execve.test \
232         fadvise64.test \
233         futex.test \
234         getuid.test \
235         ioctl.test \
236         ipc_msgbuf.test \
237         kern_features-fault.test \
238         llseek.test \
239         lseek.test \
240         mmap.test \
241         net-y-unix.test \
242         net-yy-inet.test \
243         net-yy-netlink.test \
244         net-yy-unix.test \
245         net.test \
246         netlink_sock_diag.test \
247         nsyscalls.test \
248         nsyscalls-d.test \
249         nsyscalls-nd.test \
250         personality.test \
251         pipe.test \
252         poll-P.test \
253         poll.test \
254         prctl-arg2-intptr.test \
255         prctl-dumpable.test \
256         prctl-name.test \
257         prctl-no-args.test \
258         prctl-pdeathsig.test \
259         prctl-seccomp-filter-v.test \
260         prctl-seccomp-strict.test \
261         prctl-securebits.test \
262         prctl-spec-inject.test \
263         prctl-tid_address.test \
264         prctl-tsc.test \
265         qual_fault-exit_group.test \
266         readv.test \
267         rt_sigaction.test \
268         scm_rights-fd.test \
269         seccomp-strict.test \
270         sigaltstack.test \
271         sun_path.test \
272         xet_thread_area_x86.test \
273         uio.test \
274         umount.test \
275         umount2.test \
276         umovestr.test \
277         umovestr2.test \
278         uname.test \
279         unix-pair-send-recv.test \
280         unix-pair-sendto-recvfrom.test \
281         # end of DECODER_TESTS
282
283 MISC_TESTS = \
284         attach-f-p.test \
285         attach-p-cmd.test \
286         bexecve.test \
287         clone_parent.test \
288         clone_ptrace.test \
289         count-f.test \
290         count.test \
291         delay.test \
292         detach-running.test \
293         detach-sleeping.test \
294         detach-stopped.test \
295         filter-unavailable.test \
296         filtering_fd-syntax.test \
297         filtering_syscall-syntax.test \
298         fflush.test \
299         get_regs.test \
300         inject-nf.test \
301         interactive_block.test \
302         ksysent.test \
303         localtime.test \
304         opipe.test \
305         options-syntax.test \
306         pc.test \
307         printpath-umovestr-legacy.test \
308         printstrn-umoven-legacy.test \
309         qual_fault-syntax.test \
310         qual_fault.test \
311         qual_inject-error-signal.test \
312         qual_inject-retval.test \
313         qual_inject-signal.test \
314         qual_inject-syntax.test \
315         qual_signal.test \
316         qual_syscall.test \
317         redirect-fds.test \
318         redirect.test \
319         restart_syscall.test \
320         sigblock.test \
321         sigign.test \
322         strace-C.test \
323         strace-E.test \
324         strace-S.test \
325         strace-T.test \
326         strace-V.test \
327         strace-ff.test \
328         strace-r.test \
329         strace-t.test \
330         strace-tt.test \
331         strace-ttt.test \
332         termsig.test \
333         threads-execve.test \
334         # end of MISC_TESTS
335
336 TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(STACKTRACE_TESTS)
337
338 XFAIL_TESTS_ =
339 XFAIL_TESTS_m32 = $(STACKTRACE_TESTS)
340 XFAIL_TESTS_mx32 = $(STACKTRACE_TESTS)
341 XFAIL_TESTS_x86_64 = int_0x80.gen.test
342 XFAIL_TESTS_x32 = int_0x80.gen.test
343 XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
344
345 TEST_LOG_COMPILER = env
346 AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \
347                         SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
348                         SIZEOF_LONG=$(SIZEOF_LONG) \
349                         MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
350
351 @VALGRIND_CHECK_RULES@
352 VALGRIND_FLAGS = --quiet
353 VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp
354
355 EXTRA_DIST = \
356         accept_compat.h \
357         attach-p-cmd.h \
358         caps-abbrev.awk \
359         caps.awk \
360         clock.in \
361         count-f.expected \
362         eventfd.expected \
363         fadvise.h \
364         filter-unavailable.expected \
365         fstatat.c \
366         fstatx.c \
367         gen_pure_executables.sh \
368         gen_tests.in \
369         gen_tests.sh \
370         getresugid.c \
371         init.sh \
372         init_delete_module.h \
373         ipc.sh \
374         ksysent.sed \
375         lstatx.c \
376         match.awk \
377         net.expected \
378         netlink_sock_diag-v.sh \
379         pipe.expected \
380         print_user_desc.c \
381         process_vm_readv_writev.c \
382         pure_executables.list \
383         qual_fault-exit_group.expected \
384         qual_inject-error-signal.expected \
385         qual_inject-signal.expected \
386         quotactl.h \
387         regex.in \
388         rt_sigaction.awk \
389         run.sh \
390         sched.in \
391         scno_tampering.sh \
392         setfsugid.c \
393         setresugid.c \
394         setreugid.c \
395         setugid.c \
396         sigaltstack.expected \
397         sockname.c \
398         stack-fcall.h \
399         strace-C.expected \
400         strace-E.expected \
401         strace-T.expected \
402         strace-ff.expected \
403         strace-k-demangle.expected \
404         strace-k-demangle.test \
405         strace-k.expected \
406         strace-k.test \
407         strace-r.expected \
408         strace.supp \
409         struct_flock.c \
410         sun_path.expected \
411         syntax.sh \
412         trace_fstat.in \
413         trace_fstatfs.in \
414         trace_lstat.in \
415         trace_question.in \
416         trace_stat.in \
417         trace_stat_like.in \
418         trace_statfs.in \
419         trace_statfs_like.in \
420         uio.expected \
421         umode_t.c \
422         umovestr.expected \
423         unix-pair-send-recv.expected \
424         unix-pair-sendto-recvfrom.expected \
425         xchownx.c \
426         xgetrlimit.c \
427         xselect.c \
428         xstatfs.c \
429         xstatfs64.c \
430         xstatfsx.c \
431         xstatx.c \
432         xutimes.c \
433         $(TESTS)
434
435 ksysent.h: $(srcdir)/ksysent.sed
436         echo '#include <asm/unistd.h>' | \
437                 $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
438         LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
439         mv -f $@.t2 $@
440         rm -f $@.t1
441
442 ksysent.$(OBJEXT): ksysent.h
443
444 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
445 $(objects): scno.h
446
447 clean-local: clean-local-check
448 .PHONY: clean-local-check
449 clean-local-check:
450         -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
451
452 .PHONY: check-valgrind-local
453 check-valgrind-local: $(check_LIBRARIES) $(check_PROGRAMS)
454
455 BUILT_SOURCES = ksysent.h
456 CLEANFILES = ksysent.h
457
458 include ../scno.am