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