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