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