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-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 
     29 OS = linux
     30 ARCH = @arch@
     31 MPERS_NAME =
     32 ARCH_MFLAGS =
     33 AM_CFLAGS = $(WARN_CFLAGS)
     34 AM_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)
     42 AM_LDFLAGS = $(ARCH_MFLAGS)
     43 
     44 libtests_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
     70 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
     71 check_LIBRARIES = libtests.a
     72 LDADD = libtests.a
     73 
     74 include pure_executables.am
     75 
     76 check_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 
    142 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
    143 clock_xettime_LDADD = -lrt $(LDADD)
    144 count_f_LDADD = -lpthread $(LDADD)
    145 filter_unavailable_LDADD = -lpthread $(LDADD)
    146 fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    147 fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    148 ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    149 lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    150 mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    151 mq_LDADD = -lrt $(LDADD)
    152 mq_sendrecv_LDADD = -lrt $(LDADD)
    153 mq_sendrecv_read_LDADD = -lrt $(LDADD)
    154 mq_sendrecv_write_LDADD = -lrt $(LDADD)
    155 newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    156 pc_LDADD = $(dl_LIBS) $(LDADD)
    157 pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    158 preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    159 preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    160 pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    161 stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    162 statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    163 threads_execve_LDADD = -lrt -lpthread $(LDADD)
    164 times_LDADD = -lrt $(LDADD)
    165 truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    166 uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
    167 
    168 stack_fcall_SOURCES = stack-fcall.c \
    169 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
    170 
    171 include gen_tests.am
    172 
    173 if USE_LIBUNWIND
    174 LIBUNWIND_TESTS = strace-k.test
    175 else
    176 LIBUNWIND_TESTS =
    177 endif
    178 
    179 DECODER_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 
    240 MISC_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 
    281 TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
    282 
    283 XFAIL_TESTS_ =
    284 XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
    285 XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
    286 XFAIL_TESTS_x86_64 = int_0x80.gen.test
    287 XFAIL_TESTS_x32 = int_0x80.gen.test
    288 XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
    289 
    290 TEST_LOG_COMPILER = env
    291 AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
    292 
    293 @VALGRIND_CHECK_RULES@
    294 VALGRIND_FLAGS = --quiet
    295 VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
    296 
    297 EXTRA_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 
    371 ksysent.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 
    378 ksysent.$(OBJEXT): ksysent.h
    379 
    380 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
    381 $(objects): scno.h
    382 
    383 clean-local: clean-local-check
    384 .PHONY: clean-local-check
    385 clean-local-check:
    386 	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
    387 
    388 CLEANFILES = ksysent.h
    389 
    390 include ../scno.am
    391