Home | History | Annotate | Download | only in tests
      1 # Automake input for strace tests.
      2 #
      3 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv (a] 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 	bpf-obj_get_info_by_fd \
     97 	bpf-obj_get_info_by_fd-prog \
     98 	bpf-obj_get_info_by_fd-prog-v \
     99 	bpf-obj_get_info_by_fd-v \
    100 	bpf-success \
    101 	bpf-success-v \
    102 	caps-abbrev \
    103 	check_sigblock \
    104 	check_sigign \
    105 	clone_parent \
    106 	clone_ptrace \
    107 	count-f \
    108 	delay \
    109 	execve-v \
    110 	execveat-v \
    111 	filter-unavailable \
    112 	fork-f \
    113 	fsync-y \
    114 	getpid	\
    115 	getppid	\
    116 	gettid \
    117 	inject-nf \
    118 	int_0x80 \
    119 	ioctl_dm-v \
    120 	ioctl_evdev-v \
    121 	ioctl_evdev-success \
    122 	ioctl_evdev-success-v \
    123 	ioctl_loop-nv \
    124 	ioctl_loop-v \
    125 	ioctl_nsfs \
    126 	ioctl_perf-success \
    127 	ioctl_rtc-v \
    128 	is_linux_mips_n64 \
    129 	ksysent \
    130 	list_sigaction_signum \
    131 	localtime \
    132 	mmsg-silent \
    133 	mmsg_name-v \
    134 	msg_control-v \
    135 	net-accept-connect \
    136 	net-tpacket_stats-success \
    137 	netlink_inet_diag \
    138 	netlink_netlink_diag \
    139 	netlink_unix_diag \
    140 	nsyscalls \
    141 	nsyscalls-d \
    142 	oldselect-P \
    143 	oldselect-efault-P \
    144 	pc \
    145 	perf_event_open_nonverbose \
    146 	perf_event_open_unabbrev \
    147 	ppoll-v \
    148 	prctl-seccomp-filter-v \
    149 	prctl-seccomp-strict \
    150 	prctl-spec-inject \
    151 	print_maxfd \
    152 	qual_fault \
    153 	qual_inject-error-signal \
    154 	qual_inject-retval \
    155 	qual_inject-signal \
    156 	qual_signal \
    157 	quotactl-success \
    158 	quotactl-success-v \
    159 	quotactl-v \
    160 	quotactl-xfs-success \
    161 	quotactl-xfs-success-v \
    162 	quotactl-xfs-v \
    163 	redirect-fds \
    164 	restart_syscall \
    165 	run_expect_termsig \
    166 	scm_rights \
    167 	seccomp-filter-v \
    168 	seccomp-strict \
    169 	select-P \
    170 	set_ptracer_any \
    171 	set_sigblock \
    172 	set_sigign \
    173 	signal_receive \
    174 	sleep \
    175 	stack-fcall \
    176 	stack-fcall-mangled \
    177 	threads-execve \
    178 	unblock_reset_raise \
    179 	unix-pair-send-recv \
    180 	unix-pair-sendto-recvfrom \
    181 	vfork-f \
    182 	wait4-v \
    183 	waitid-v \
    184 	zeroargc \
    185 	# end of check_PROGRAMS
    186 
    187 attach_f_p_LDADD = -lpthread $(LDADD)
    188 count_f_LDADD = -lpthread $(LDADD)
    189 delay_LDADD = $(clock_LIBS) $(LDADD)
    190 filter_unavailable_LDADD = -lpthread $(LDADD)
    191 fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    192 fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    193 ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    194 localtime_LDADD = $(clock_LIBS) $(LDADD)
    195 lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    196 mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    197 mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    198 mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    199 mmap64_Xverbose_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    200 mq_LDADD = $(mq_LIBS) $(LDADD)
    201 newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    202 pc_LDADD = $(dl_LIBS) $(LDADD)
    203 pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    204 preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    205 preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    206 pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    207 stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    208 statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    209 threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
    210 times_LDADD = $(clock_LIBS) $(LDADD)
    211 truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    212 uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    213 
    214 stack_fcall_SOURCES = stack-fcall.c \
    215 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
    216 
    217 stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
    218 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
    219 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
    220 
    221 include gen_tests.am
    222 
    223 if ENABLE_STACKTRACE
    224 STACKTRACE_TESTS = strace-k.test
    225 if USE_DEMANGLE
    226 STACKTRACE_TESTS += strace-k-demangle.test
    227 endif
    228 else
    229 STACKTRACE_TESTS =
    230 endif
    231 
    232 DECODER_TESTS = \
    233 	bpf-success-v.test \
    234 	bpf-success.test \
    235 	brk.test \
    236 	btrfs-X.test \
    237 	btrfs-v.test \
    238 	btrfs-vX.test \
    239 	btrfs-vw.test \
    240 	btrfs-vwX.test \
    241 	btrfs-w.test \
    242 	btrfs-wX.test \
    243 	caps-abbrev.test \
    244 	caps.test \
    245 	eventfd.test \
    246 	execve-v.test \
    247 	execve.test \
    248 	fadvise64.test \
    249 	futex.test \
    250 	getuid.test \
    251 	ioctl.test \
    252 	ioctl_evdev-success.test \
    253 	ioctl_evdev-success-v.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 	uio.test \
    297 	umount.test \
    298 	umount2.test \
    299 	umovestr.test \
    300 	umovestr2.test \
    301 	uname.test \
    302 	unix-pair-send-recv.test \
    303 	unix-pair-sendto-recvfrom.test \
    304 	xet_thread_area_x86.test \
    305 	# end of DECODER_TESTS
    306 
    307 MISC_TESTS = \
    308 	attach-f-p.test \
    309 	attach-p-cmd.test \
    310 	bexecve.test \
    311 	clone_parent.test \
    312 	clone_ptrace.test \
    313 	count-f.test \
    314 	count.test \
    315 	delay.test \
    316 	detach-running.test \
    317 	detach-sleeping.test \
    318 	detach-stopped.test \
    319 	fflush.test \
    320 	filter-unavailable.test \
    321 	filtering_fd-syntax.test \
    322 	filtering_syscall-syntax.test \
    323 	get_regs.test \
    324 	inject-nf.test \
    325 	interactive_block.test \
    326 	ksysent.test \
    327 	localtime.test \
    328 	opipe.test \
    329 	options-syntax.test \
    330 	pc.test \
    331 	printpath-umovestr-legacy.test \
    332 	printstrn-umoven-legacy.test \
    333 	qual_fault-syntax.test \
    334 	qual_fault-syscall.test \
    335 	qual_fault.test \
    336 	qual_inject-error-signal-syscall.test \
    337 	qual_inject-error-signal.test \
    338 	qual_inject-retval-syscall.test \
    339 	qual_inject-retval.test \
    340 	qual_inject-signal-syscall.test \
    341 	qual_inject-signal.test \
    342 	qual_inject-syntax.test \
    343 	qual_signal.test \
    344 	qual_syscall.test \
    345 	redirect-fds.test \
    346 	redirect.test \
    347 	restart_syscall.test \
    348 	sigblock.test \
    349 	sigign.test \
    350 	strace-C.test \
    351 	strace-E.test \
    352 	strace-S.test \
    353 	strace-T.test \
    354 	strace-V.test \
    355 	strace-ff.test \
    356 	strace-r.test \
    357 	strace-t.test \
    358 	strace-tt.test \
    359 	strace-ttt.test \
    360 	termsig.test \
    361 	threads-execve.test \
    362 	# end of MISC_TESTS
    363 
    364 TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(STACKTRACE_TESTS)
    365 
    366 XFAIL_TESTS_ =
    367 XFAIL_TESTS_m32 = $(STACKTRACE_TESTS)
    368 XFAIL_TESTS_mx32 = $(STACKTRACE_TESTS)
    369 XFAIL_TESTS_x86_64 = int_0x80.gen.test
    370 XFAIL_TESTS_x32 = int_0x80.gen.test
    371 XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
    372 
    373 TEST_LOG_COMPILER = env
    374 AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \
    375 			SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
    376 			SIZEOF_LONG=$(SIZEOF_LONG) \
    377 			MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
    378 
    379 @VALGRIND_CHECK_RULES@
    380 VALGRIND_FLAGS = --quiet
    381 VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp
    382 
    383 EXTRA_DIST = \
    384 	accept_compat.h \
    385 	attach-p-cmd.h \
    386 	caps-abbrev.awk \
    387 	caps.awk \
    388 	clock.in \
    389 	count-f.expected \
    390 	eventfd.expected \
    391 	fadvise.h \
    392 	fcntl-common.c \
    393 	filter-unavailable.expected \
    394 	fstatat.c \
    395 	fstatx.c \
    396 	gen_pure_executables.sh \
    397 	gen_tests.in \
    398 	gen_tests.sh \
    399 	getresugid.c \
    400 	init.sh \
    401 	init_delete_module.h \
    402 	ipc.sh \
    403 	ioctl_kvm_run_common.c \
    404 	ksysent.sed \
    405 	lstatx.c \
    406 	match.awk \
    407 	net.expected \
    408 	netlink_sock_diag-v.sh \
    409 	nlattr_ifla.h \
    410 	pipe.expected \
    411 	print_user_desc.c \
    412 	process_vm_readv_writev.c \
    413 	pure_executables.list \
    414 	qual_fault-exit_group.expected \
    415 	qual_inject-error-signal.expected \
    416 	qual_inject-signal.expected \
    417 	qualify_personality.sh \
    418 	qualify_personality_empty.in \
    419 	quotactl.h \
    420 	regex.in \
    421 	rt_sigaction.awk \
    422 	run.sh \
    423 	sched.in \
    424 	scno_tampering.sh \
    425 	setfsugid.c \
    426 	setresugid.c \
    427 	setreugid.c \
    428 	setugid.c \
    429 	sigaltstack.expected \
    430 	sockname.c \
    431 	stack-fcall.h \
    432 	strace-C.expected \
    433 	strace-E.expected \
    434 	strace-T.expected \
    435 	strace-ff.expected \
    436 	strace-k-demangle.expected \
    437 	strace-k-demangle.test \
    438 	strace-k.expected \
    439 	strace-k.test \
    440 	strace-r.expected \
    441 	strace.supp \
    442 	sun_path.expected \
    443 	syntax.sh \
    444 	trace_fstat.in \
    445 	trace_fstatfs.in \
    446 	trace_lstat.in \
    447 	trace_personality_32.in \
    448 	trace_personality_64.in \
    449 	trace_personality_x32.in \
    450 	trace_personality_regex_32.in \
    451 	trace_personality_regex_64.in \
    452 	trace_personality_regex_x32.in \
    453 	trace_question.in \
    454 	trace_stat.in \
    455 	trace_stat_like.in \
    456 	trace_statfs.in \
    457 	trace_statfs_like.in \
    458 	uio.expected \
    459 	umode_t.c \
    460 	umovestr.expected \
    461 	unix-pair-send-recv.expected \
    462 	unix-pair-sendto-recvfrom.expected \
    463 	xchownx.c \
    464 	xgetrlimit.c \
    465 	xselect.c \
    466 	xstatfs.c \
    467 	xstatfs64.c \
    468 	xstatfsx.c \
    469 	xstatx.c \
    470 	xutimes.c \
    471 	$(TESTS)
    472 
    473 ksysent.h: $(srcdir)/ksysent.sed
    474 	echo '#include <asm/unistd.h>' | \
    475 		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
    476 	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
    477 	mv -f $@.t2 $@
    478 	rm -f $@.t1
    479 
    480 ksysent.$(OBJEXT): ksysent.h
    481 
    482 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
    483 $(objects): scno.h
    484 
    485 clean-local: clean-local-check
    486 .PHONY: clean-local-check
    487 clean-local-check:
    488 	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
    489 
    490 .PHONY: check-valgrind-local
    491 check-valgrind-local: $(check_LIBRARIES) $(check_PROGRAMS)
    492 
    493 BUILT_SOURCES = ksysent.h
    494 CLEANFILES = ksysent.h
    495 
    496 include ../scno.am
    497