tests: extend readlink and readlinkat coverage

* tests/readlink.c (PREFIX, TARGET, LINKPATH): New macros.
(main): Allocate memory for string and buffer passed to the syscall
being tested using tail_alloc mechanism.  Create and cleanup test
symlink.  Test syscall error path output.  Print hexquoted strings
using hexquote_strndup.
* tests/readlinkat.c: Likewise.
* tests/readlink.test: Remove creation and cleanup of test symlinks.
3 files changed
tree: 60c5c0cf731c9bb019a81d4dae4d7a96dd5f04bc
  1. debian/
  2. linux/
  3. m4/
  4. maint/
  5. qemu_multiarch_testing/
  6. test/
  7. tests/
  8. xlat/
  9. .gitignore
  10. .mailmap
  11. .travis.yml
  12. access.c
  13. affinity.c
  14. aio.c
  15. alpha.c
  16. AUTHORS
  17. bjm.c
  18. block.c
  19. bootstrap
  20. bpf.c
  21. build_static_example.sh
  22. cacheflush.c
  23. capability.c
  24. caps0.h
  25. caps1.h
  26. ChangeLog-CVS
  27. chdir.c
  28. chmod.c
  29. clone.c
  30. configure.ac
  31. COPYING
  32. count.c
  33. CREDITS.in
  34. defs.h
  35. desc.c
  36. dirent.c
  37. dirent64.c
  38. empty.h
  39. epoll.c
  40. errnoent.sh
  41. evdev.c
  42. eventfd.c
  43. execve.c
  44. exit.c
  45. fadvise.c
  46. fallocate.c
  47. fanotify.c
  48. fchownat.c
  49. fcntl.c
  50. fetch_seccomp_fprog.c
  51. fetch_struct_flock.c
  52. file.c
  53. file_handle.c
  54. flock.c
  55. flock.h
  56. futex.c
  57. gcc_compat.h
  58. generate_mpers_am.sh
  59. generate_sen.sh
  60. generate_xlat_in.sh
  61. get_robust_list.c
  62. getcpu.c
  63. getcwd.c
  64. getrandom.c
  65. git-set-file-times
  66. git-version-gen
  67. gitlog-to-changelog
  68. HACKING-scripts
  69. hostname.c
  70. inotify.c
  71. INSTALL
  72. io.c
  73. ioctl.c
  74. ioctlsort.c
  75. ioperm.c
  76. iopl.c
  77. ioprio.c
  78. ipc_defs.h
  79. ipc_msg.c
  80. ipc_msgctl.c
  81. ipc_sem.c
  82. ipc_shm.c
  83. ipc_shmctl.c
  84. kcmp.c
  85. kernel_types.h
  86. kexec.c
  87. keyctl.c
  88. ldt.c
  89. link.c
  90. lookup_dcookie.c
  91. loop.c
  92. lseek.c
  93. make-dist
  94. Makefile.am
  95. mem.c
  96. membarrier.c
  97. memfd_create.c
  98. mknod.c
  99. mount.c
  100. mpers.awk
  101. mpers.sh
  102. mpers_test.sh
  103. mpers_type.h
  104. mq.c
  105. mtd.c
  106. native_defs.h
  107. net.c
  108. NEWS
  109. open.c
  110. or1k_atomic.c
  111. pathtrace.c
  112. perf.c
  113. personality.c
  114. poll.c
  115. prctl.c
  116. print_mq_attr.c
  117. print_msgbuf.c
  118. print_sigevent.c
  119. print_time.c
  120. print_timex.c
  121. printmode.c
  122. printrusage.c
  123. printsiginfo.c
  124. printsiginfo.h
  125. printstat.h
  126. process.c
  127. process_vm.c
  128. ptp.c
  129. ptrace.h
  130. quota.c
  131. readahead.c
  132. readlink.c
  133. README
  134. README-hacking
  135. README-linux-ptrace
  136. README-mpers
  137. reboot.c
  138. regs.h
  139. renameat.c
  140. resource.c
  141. rtc.c
  142. sched.c
  143. scsi.c
  144. seccomp.c
  145. seccomp_fprog.h
  146. sendfile.c
  147. sigaltstack.c
  148. sigevent.h
  149. signal.c
  150. signalent.sh
  151. signalfd.c
  152. sigreturn.c
  153. sock.c
  154. socketutils.c
  155. sram_alloc.c
  156. statfs.c
  157. strace-graph
  158. strace-log-merge
  159. strace.1
  160. strace.c
  161. strace.spec
  162. swapon.c
  163. sync_file_range.c
  164. syscall.c
  165. syscallent.sh
  166. sysctl.c
  167. sysinfo.c
  168. syslog.c
  169. sysmips.c
  170. term.c
  171. time.c
  172. times.c
  173. travis-ci.sh
  174. truncate.c
  175. uid.c
  176. uid16.c
  177. umask.c
  178. umount.c
  179. uname.c
  180. unwind.c
  181. userfaultfd.c
  182. util.c
  183. utime.c
  184. utimes.c
  185. v4l2.c
  186. vsprintf.c
  187. wait.c
  188. xattr.c
  189. xlate.el
  190. xmalloc.c