Commit Graph

136 Commits

Author SHA1 Message Date
ngie
42a00c3dbd Integrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl
- Make the requirements more complete for the testcases
- Detect prerequisites so the tests won't fail (zfs.ko is loaded, zpool(1)
  is available, ACL support is enabled with UFS, etc).
- Work with temporary files/directories/mountpoints that work with atf/kyua
- Limit the testcases to work on temporary filesystems to reduce tainting the
  test host

MFC after: 2 weeks
Reviewed by: trasz (earlier version)
Differential Revision: https://reviews.freebsd.org/D3810
2015-10-17 08:39:37 +00:00
ngie
7a8ea850c6 Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
test suite as tests/sys/posixshm

Some other highlights:
- Convert the testcases over to ATF
- Don't use hardcoded paths to /tmp (which violate the ATF/kyua samdbox); use
  mkstemp to generate temporary paths for non-SHM_ANON shm objects.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
2015-10-17 04:32:21 +00:00
ngie
514260b6e7 Unify posixshm.c and shm_test.c
Convert both testcases over to ATF

Don't use hardcoded paths to /tmp; use mkstemp to generate
temporary paths for non-SHM_ANON created shm objects.
2015-10-17 03:13:22 +00:00
bdrewery
153205e33f Add more SUBDIR_PARALLEL.
MFC after:	3 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-10-15 22:55:08 +00:00
ngie
4640526e7e Add Makefile missed in r289236 2015-10-14 18:29:53 +00:00
ngie
f516f6c2bc Redirect all stdout from run to stderr so failures can be debugged 2015-10-14 18:29:00 +00:00
ngie
ef127649af Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfs
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-10-14 08:16:15 +00:00
ngie
a628dafc86 Integrate tools/regression/acltools into tests/sys/acl
Apply patches I've been running for months on my GitHub project
2015-10-13 17:28:11 +00:00
ngie
5d430003c8 Add Makefile forgotten in r289224 2015-10-13 17:18:26 +00:00
ngie
d3814e98fd Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfs 2015-10-13 16:51:12 +00:00
ngie
2c46ba7a42 Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
test suite as tests/sys/posixshm
2015-10-13 16:50:12 +00:00
ngie
dd1f618367 Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and
netbsd-tests.test.mk (r289151)

- Eliminate explicit OBJTOP/SRCTOP setting
- Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk
- Remove unnecessary TESTSDIR setting
- Use SRCTOP where possible for clarity

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Divison
2015-10-12 08:16:03 +00:00
jhb
4437aff4a8 Tweak: use 'mainlwp' instead of 'mainpid' since this is a thread (LWP)
identifier, not a pid.
2015-10-06 22:59:00 +00:00
bdrewery
52adc6c504 Fix build with older GCC which, doesn't like 'main' being a variable name. 2015-10-06 22:54:04 +00:00
jhb
b86a33b09a Fix various edge cases related to system call tracing.
- Always set td_dbg_sc_* when P_TRACED is set on system call entry
  even if the debugger is not tracing system call entries.  This
  ensures the fields are valid when reporting other stops that
  occur at system call boundaries such as for PT_FOLLOW_FORKS or
  when only tracing system call exits.
- Set TDB_SCX when reporting the stop for a new child process in
  fork_return().  This causes the event to be reported as a system
  call exit.
- Report a system call exit event in fork_return() for new threads in
  a traced process.
- Copy td_dbg_sc_* to new threads instead of zeroing.  This ensures
  that td_dbg_sc_code in particular will report the system call that
  created the new thread or process when it reports a system call
  exit event in fork_return().
- Add new ptrace tests to verify that new child processes and threads
  report system call exit events with a valid pl_syscall_code via
  PT_LWPINFO.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D3822
2015-10-06 19:29:05 +00:00
ngie
e1dd16d965 Revert r288682
I meant to do this on ^/user/ngie/more-tests

Pointyhat to: ngie (use svn info next time...)
2015-10-05 03:26:51 +00:00
ngie
115d008392 Remove some paths preparing for a re-copy from head 2015-10-05 03:25:30 +00:00
ngie
7f1b3a0b68 Integrate tools/regression/acltools into tests/sys/acl
Apply patches I've been running for months on my GitHub project
2015-10-05 00:55:16 +00:00
ngie
51803bd765 Fix compilation with -Werror + -Wsigned enabled 2015-10-05 00:51:41 +00:00
ngie
8b6993c446 MFhead @ r288313 2015-09-27 23:33:54 +00:00
jhb
7c47a4f9ce Use _exit() instead of exit() in child processes created during tests.
Suggested by:	kib
2015-09-09 22:54:07 +00:00
jhb
87404d121b Add a test to verify that a traced process sees its original parent via
getppid() after a debugger process that is not the parent has attached.

Reviewed by:	kib (earlier version)
Differential Revision:	https://reviews.freebsd.org/D3615
2015-09-09 22:42:26 +00:00
jhb
fb3987c215 Properly size the children[] arrays in the follow fork tests. 2015-09-09 21:18:10 +00:00
jhb
3b2b2a3028 Add more mmap tests related to character devices.
- Add cdev-related tests for bad args.
- Add two simple tests cases for mapping /dev/zero that test for
  MAP_ANON-like behavior.

Reviewed by:	alc, kib
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D3323
2015-09-04 01:02:21 +00:00
ngie
87dee47409 MFhead @ r286584 2015-08-10 18:27:54 +00:00
jhb
6dd6018a93 Add various tests to ensure that invalid arguments passed to mmap()
trigger failures.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D3269
2015-08-06 16:14:29 +00:00
jhb
34fe2df04e Convert the map_at_zero test case to ATF. In particular, this will
facilitate adding more mmap() tests.

MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D3268
2015-08-06 16:12:12 +00:00
jhb
13db4664b3 Clear P_TRACED before reparenting a detached process back to its
original parent. Otherwise the debugee will be set as an orphan of
the debugger.

Add tests for tracing forks via PT_FOLLOW_FORK.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D2809
2015-08-01 16:27:52 +00:00
pluknet
bb208e16c0 Fixed shutdown(2) unix(4) tests for SOCK_SEQPACKET after r285910 (by ed). 2015-07-29 13:49:34 +00:00
ngie
2907322f74 MFhead @ r285904 2015-07-27 04:11:41 +00:00
rodrigc
d16fdde7e1 Pass unsigned long argument to ioctl().
Eliminates "ioctl sign-extension" warnings.

PR:		200896
2015-07-26 14:46:42 +00:00
markj
1478ec09c6 The bug caught by flock's test 16 was fixed by r268384.
MFC after:	3 days
2015-07-05 22:49:26 +00:00
jmmv
5c6b494ea7 Make cleanup routines idempotent
cleanup routines can be executed at any point during the execution of the
body, including even before the body has done any real work.  In those
cases, cleanup routines should be careful to not raise spurious errors so
as to not "override" the actual result of the test case.

This is just general good coding style but is not a problem in practice
for these specific tests.  (The way I discovered the issue, though, was
due to a regression I introduced in Kyua itself while refactoring some
internals.)

MFC after:	1 week
2015-07-04 02:22:26 +00:00
ngie
862ab3b5df Fix some -Wunused warnings 2015-06-14 11:08:27 +00:00
ngie
ffa05a49da Fix Makefile 2015-06-14 02:21:19 +00:00
ngie
7e38af37a8 MF head @ r284358 2015-06-13 22:40:40 +00:00
sjg
750b155101 Misc fixes from projects/bmake
Differential Revision:       D2748
Reviewed by: brooks imp
2015-06-11 21:13:05 +00:00
jhb
5f12aa248a Add a CHILD_REQUIRE macro similar to ATF_REQUIRE for use in child processes
of the main test process.

Differential Revision:	https://reviews.freebsd.org/D2664
Reviewed by:	ngie (previous version)
2015-06-04 21:07:27 +00:00
ngie
e6fcc4a9f2 Append to SUBDIR, not set it
Pointyhat to: ngie
2015-05-31 22:24:29 +00:00
jhb
d0beba7962 Consistently only use one end of the pipe in the parent and debugger
processes and do not rely on EOF due to a close() in the debugger.

PR:		200489
Differential Revision:	https://reviews.freebsd.org/D2674
Reviewed by:	kib, ngie, rodrigc
2015-05-31 19:43:35 +00:00
ngie
0125984291 Readd fresh copies of the directories from head using svn copy 2015-05-31 02:15:22 +00:00
ngie
9eaf1cb6f6 Nuke some broken directories 2015-05-31 02:14:10 +00:00
ngie
a31ce0ad92 MF head @ r283796 2015-05-31 01:02:05 +00:00
jhb
7fad77ce36 Tweak the description of when waitpid() doesn't return any status for a
non-blocking wait to avoid the word "empty".

Requested by:	ngie
2015-05-28 13:56:19 +00:00
jhb
588ce3236a Do not allow a process to reap an orphan (a child currently being
traced by another process such as a debugger). The parent process does
need to check for matching orphan pids to avoid returning ECHILD if an
orphan has exited, but it should not return the exited status for the
child until after the debugger has detached from the orphan process
either explicitly or implicitly via wait().

Add two tests for for this case: one where the debugger is the direct
child (thus the parent has a non-empty children list) and one where
the debugger is not a direct child (so the only "child" of the parent
is the orphan).

Differential Revision:	https://reviews.freebsd.org/D2644
Reviewed by:	kib
MFC after:	2 weeks
2015-05-26 10:29:37 +00:00
ngie
1a0cbcd01a MFhead @ r283351 2015-05-24 07:11:03 +00:00
jhb
5ad66fe3b2 Only reparent a traced process to its old parent if the tracing process is
not the old parent. Otherwise, proc_reap() will leave the zombie in place
resulting in the process' status being returned twice to its parent.

Add test cases for PT_TRACE_ME and PT_ATTACH which are fixed by
this change.

Differential Revision:	https://reviews.freebsd.org/D2594
Reviewed by:	kib
MFC after:	2 weeks
2015-05-22 11:04:54 +00:00
ngie
110cd2db75 Move all test integration pieces for etc/ from etc/ to tests/
This is being done to fix breakage with make distribution with read-only
source trees as make distribution doesn't use make obj like building
tests/ does in all cases

Reported by: Wolfgang Zenker <wolfgang@lyxys.ka.sub.org>
Suggested by: jhb
X-MFC with: r282059
MFC after: 1 week
2015-05-18 11:02:43 +00:00
ngie
0207f9a85e Fix typo. It should have been atf_tc_skip, not atf_skip
Reported by: many, Jenkins
Pointyhat to: ngie
MFC after: 4 days
2015-04-29 19:08:11 +00:00
ngie
699d6a9776 ATF_REQUIRE_KERNEL_MODULE: use atf_skip, not ATF_REQUIRE_MSG so the testcase
no longer bombs out
PLAIN_REQUIRE_KERNEL_MODULE: use printf + _exit, no err so the testcase no
longer bombs out if it prints to stderr

MFC after: 5 days
2015-04-29 08:56:56 +00:00