296373 |
04-Mar-2016 |
marius |
- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1 builds. - Update newvers.sh to reflect RC1. - Update __FreeBSD_version to reflect 10.3. - Update default pkg(8) configuration to use the quarterly branch.
Approved by: re (implicit) |
293275 |
06-Jan-2016 |
ngie |
MFC r270228: r270228 (by asomers):
Numerous small fixes, mostly suggested by Coverity.
tests/sys/kern/unix_seqpacket_test.c * Remove a duplicate error check in mk_pair_of_sockets * Always close sockets in the success path of ATF test cases. Don't bother with the error paths, because those are mostly assertions anyway. Most of these socket leaks were reported by Coverity. All of them are harmless, because each ATF test case runs in its own process. * Fix the len argument to send in shutdown_send and shutdown_send_sigpipe. The old version was using sizeof a pointer instead of sizeof the char array. Reported by Coverity. * Change a few ATF_CHECK to ATF_REQUIRE if the test can't reasonably continue past a failure.
CID: 1229995, 1229991, 1229988, 1229994, 1229989, 1229992 CID: 1229993, 1229990, 1229984, 1229967, 1230005, 1229977 CID: 1229966, 1230004, 1229976
|
293273 |
06-Jan-2016 |
ngie |
MFC r271397: r271397 (by asomers):
Abort the create_socket test if socket creation fails.
CID: 1232756
|
293272 |
06-Jan-2016 |
ngie |
MFC r292914,r292957:
r292914:
Integrate tools/regression/sockets/unix_passfd into the FreeBSD test suite as tests/sys/kern/unix_passfd_test
- Convert testcases to ATF - Fix an alignment issues - Mark rights_creds_payload(..) as an expected failure (see PR # 181741)
https://reviews.freebsd.org/D689
Submitted by: markj
r292957:
Rename `recvfd` and `sendfd` variables in recvfd/sendfd functions to avoid -Wshadow issues with gcc
|
293270 |
06-Jan-2016 |
ngie |
MFC r288961,r288962:
r288961 (by bdrewery):
Fix build with older GCC which, doesn't like 'main' being a variable name.
r288962 (by jhb):
Tweak: use 'mainlwp' instead of 'mainpid' since this is a thread (LWP) identifier, not a pid.
|
293257 |
06-Jan-2016 |
ngie |
MFC r292650,r292651:
r292650:
Move mac_bsdextended check up before running the test_libugidfw_strings testcases
I realize that these tests could be run before mac_bsdextended is loaded, but it would overcomplicate things to special case handle the testcases before doing the mac_bsdextended(4) feature check
The testcases will be split up so they can be run separately in the near future
r292651:
Delete the comment about running `test_libugidfw_strings` before testing `mac_is_present` so it doesn't accidentally confuse people
|
293251 |
06-Jan-2016 |
ngie |
MFC r292570:
Integrate tools/regression/mac/mac_bsdextended and tools/regression/mac/mac_portacl into the FreeBSD test suite as tests/sys/mac/bsdextended and tests/sys/mac/portacl, respectively
|
293144 |
04-Jan-2016 |
ngie |
MFC r292822:
Remove retval to fix a -Wunused-but-set-variable warning from gcc 4.9
|
293143 |
04-Jan-2016 |
ngie |
MFC r292820:
Clean trailing whitespace
|
293140 |
04-Jan-2016 |
ngie |
MFC r292816,r292818,r292819:
r292816:
Place cancel and error under #ifdef DEBUG to mute -Wunused-but-set-variable warnings reported by gcc 4.9
Remove some trailing whitespace as well
Tested with and without -DDEBUG
r292818:
Fix style(9) a bit and ensure that error from initializing kqueue(2) is sane
- Push the kqueue(2) initialization down so the errno will correspond with the failure instead of potentially being stomped on by functions called by `PLAIN_REQUIRE_KERNEL_MODULE` - Delete trailing whitespace - Add spaces between braces for conditional and control blocks (for/if) - Use err/errx instead of perror+printf+exit/printf+exit. - Remove braces for single-line conditionals
Tested with and without -DDEBUG
r292819:
- Fix an improperly sized buffer for `pathname` [1] - Fix a -Wunused-but-set-variable warning [2]
|
292854 |
29-Dec-2015 |
ngie |
MFC r292582:
Dump out the output from flock_helper on failure so failures with the test app can be debugged
Obtained from: Isilon OneFS (^/onefs/head@r511419) Sponsored by: EMC / Isilon Storage Division
|
292655 |
23-Dec-2015 |
ngie |
MFC r292319:
Add ATF_REQUIRE_FEATURE and PLAIN_REQUIRE_FEATURE macros for testing for kernel features via the feature_present(3) libcall
The semantics are similar to the other macros in the header (skip testcase with ATF macro; exit with appropriate exit code with the PLAIN macro)
Sponsored by: EMC / Isilon Storage Division
|
291817 |
04-Dec-2015 |
bdrewery |
MFC r291331:
Avoid requiring 'make depend' here.
|
291815 |
04-Dec-2015 |
bdrewery |
MFC r284289,r288267:
r284289: Misc fixes from projects/bmake r288267: Remove redundant .NOPATH.
|
291792 |
04-Dec-2015 |
bdrewery |
MFC r289393:
Add more SUBDIR_PARALLEL.
|
291764 |
04-Dec-2015 |
ngie |
MFC r290913,r291181:
r290913:
Port contrib/netbsd-tests/kernel/t_mqueue.c to FreeBSD
- Add missing headers - Ensure mqueuefs is loaded - Make sure the mqueuefs path is absolute and relative to / - Cast the result of mq_open returning -1 to (mqd_t) to mute a compiler warning
Sponsored by: EMC / Isilon Storage Division
r291181:
Integrate contrib/netbsd-tests/kernel/t_mqueue into the FreeBSD test suite as tests/sys/kern/mqueue_test
|
291763 |
04-Dec-2015 |
ngie |
MFC r291180:
Fix up convert.c generation
- Use a temporary file for convert.c to reduce likelihood of an interrupted build resulting in bad code being written to convert.c - Truncate the file instead of appending to it to ensure that the file being touched will not result in duplicate declarations/definitions from kern_acct.c if/when kern_acct.c changes.
|
291713 |
03-Dec-2015 |
rodrigc |
Fix bad MFC (r291173)
Replace SRCTOP with the relevant path via .CURDIR
Reviewed by: bdrewery
|
291183 |
23-Nov-2015 |
ngie |
MFC r290914:
Integrate tools/regression/pipe in to the FreeBSD test suite as tests/sys/kern/pipe
- Fix style(9) bugs - Fix compiler warnings - Use `nitems(x)` instead of `sizeof(x) / sizeof(*x)` pattern
The testcases will be converted over to ATF eventually, but for now will be integrated in as plain C tests
Sponsored by: EMC / Isilon Storage Division
|
291179 |
23-Nov-2015 |
ngie |
MFC r290911,r290912:
r290911:
Ignore EINTR from usleep(3) in try_locks(..)
NetBSD's usleep(3) only returns -1/sets errno=EINVAL when `microseconds` is one million or more
Submitted by: pho Sponsored by: EMC / Isilon Storage Division
r290912:
Integrate contrib/netbsd-tests/kernel/t_lockf.c into the FreeBSD test suite as tests/sys/kern/lockf_test
Sponsored by: EMC / Isilon Storage Division
|
291173 |
23-Nov-2015 |
ngie |
MFC r290905,r290922:
r290905:
Integrate acct(2) testcase in as tests/sys/kern/acct/acct_test
The :encode_tv_random_million testcase fails the epsilon tests a few thousand times out of one million, so expect the testcase to fail
Submitted by: keramida Sponsored by: EMC / Isilon Storage Division
r290922:
Remove directory made obsolete by r290905
X-MFC note: stable/10 only Sponsored by: EMC / Isilon Storage Division
|
290894 |
16-Nov-2015 |
ngie |
MFC r289446:
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
Reviewed by: trasz (earlier version) Differential Revision: https://reviews.freebsd.org/D3810
|
290585 |
09-Nov-2015 |
ngie |
MFC r289441:
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.
Sponsored by: EMC / Isilon Storage Division
|
289985 |
26-Oct-2015 |
ngie |
MFC r289300:
Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfs
Sponsored by: EMC / Isilon Storage Division
|
289780 |
23-Oct-2015 |
jhb |
MFC 287386,288949,288993: Export current system call code and argument count for system call entry and exit events. To preserve the ABI, the new fields are moved to the end of struct thread in these branches (unlike HEAD) and explicitly copied when new threads are created. In addition, the new tests are only added in 10.
r287386: Export current system call code and argument count for system call entry and exit events. procfs stop events for system call tracing report these values (argument count for system call entry and code for system call exit), but ptrace() does not provide this information. (Note that while the system call code can be determined in an ABI-specific manner during system call entry, it is not generally available during system call exit.)
The values are exported via new fields at the end of struct ptrace_lwpinfo available via PT_LWPINFO.
r288949: 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.
r288993: Document the recently added pl_syscall_* fields in struct ptrace_lwpinfo.
|
288467 |
01-Oct-2015 |
jhb |
MFC 287448: 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.
|
288466 |
01-Oct-2015 |
jhb |
MFC 286370: Add various tests to ensure that invalid arguments passed to mmap() trigger failures.
Note: most of the tests that should provoke an EINVAL error do not pass on stable/10 as stable/10 does not have the changes that added more strict parameter checking to mmap(). Those changes will not be merged to stable/10, so I have disabled them via #if 0 with a comment explaining why.
|
288465 |
01-Oct-2015 |
jhb |
MFC 286369: Convert the map_at_zero test case to ATF. In particular, this will facilitate adding more mmap() tests.
|
287604 |
09-Sep-2015 |
jhb |
MFC 283281,283282,283562,283647,283836,284000,286158: Various fixes to orphan handling which also fix issues with following forks.
283281: Always set p_oppid when attaching to an existing process via procfs tracing. This matches the behavior of ptrace(PT_ATTACH). Also, the procfs detach request assumes p_oppid is always set.
283282: 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.
283562: 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).
283647: Tweak the description of when waitpid() doesn't return any status for a non-blocking wait to avoid the word "empty".
283836: 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.
284000: Add a CHILD_REQUIRE macro similar to ATF_REQUIRE for use in child processes of the main test process.
286158: 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.
|
286612 |
11-Aug-2015 |
rodrigc |
Merge r285891:
Pass unsigned long argument to ioctl().
Eliminates "ioctl sign-extension" warnings.
PR: 200896
|
283846 |
31-May-2015 |
ngie |
MFC r277627,r277650,r282059,r283056,r283840,r283845:
r277627 (by will):
Add routing_test:static_ipv6_loopback_route_for_each_fib. It tests that all FIBs get a static IPv6 loopback route.
Submitted by: asomers Sponsored by: Spectra Logic MFSpectraBSD: 1048456 on 2014/03/13 1114523 on 2015/01/23
r277650 (by will):
Add tests/etc/rc.d to mtree.
Submitted by: stefanf MFC with: 277627
r282059:
Move etc/tests/rc.d to etc/rc.d/tests to match the directory layout jmmv@ documented and implemented in other areas of the FreeBSD tree
r283056:
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
r283840:
Remove empty tests directory
r283845:
Append to SUBDIR, not set it
Pointyhat to: ngie
|
283021 |
16-May-2015 |
ngie |
MFC r282061:
Integrate tools/regression/execve into the FreeBSD test suite as tests/sys/kern/execve
|
282860 |
13-May-2015 |
ngie |
MFC r262781,r263336:
r262781 (by pho):
Preserve naming consistency for test cases.
Pointed out by: jmmv Sponsored by: EMC / Isilon storage division
r263336 (by pho):
Added sysctl kern.maxfiles increase test, do not use /etc/passwd for tests and use volatile sig_atomic_t for signal handler variable.
Reviewed by: asomers (previous version) Sponsored by: EMC / Isilon storage division
|
282859 |
13-May-2015 |
ngie |
MFC r282211,r282244:
r282211:
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
r282244:
Fix typo. It should have been atf_tc_skip, not atf_skip
Reported by: many, Jenkins Pointyhat to: ngie
|
282858 |
13-May-2015 |
ngie |
MFC r281593,r282071,r282074,r282133,r282134,r282135,r282136,r282137,r282138:
r282071:
Integrate tools/regression/mqueue into the FreeBSD test suite as tests/sys/mqueue
r282074:
Integrate tools/regression/aio/aiotest and tools/regression/aio/kqueue into the FreeBSD test suite as tests/sys/aio
r282133:
Fill in the copyright boilerplate for the test program
r282134:
Add initial (unpolished) macros for interfacing with the FreeBSD test suite
This is very rough, but will be replaced/redesigned some time soon after I fix the Jenkins breakage I introduced
r282135:
Use ATF_REQUIRE_KERNEL_MODULE instead of aio_available function
r282136:
- Use ATF_REQUIRE_KERNEL_MDOULE to require aio(4) - Don't use /tmp as a basis for temporary files as it's outside of the ATF sandbox - Don't override MAX macro in sys/param.h
r282137:
Use PLAIN_REQUIRE_KERNEL_MODULE to require "mqueuefs"
r282138:
Adjust CFLAGS to find freebsd_test_suite/macros.h
|
282853 |
13-May-2015 |
ngie |
MFC r282076,r282104:
r282076:
Integrate tools/regression/mmap into the FreeBSD test suite as tests/sys/kern/mmap_test
r282104:
Move tests/sys/kern/mmap_test to tests/sys/vm/mmap_test
As jhb noted, the actual mmap(2) implementation is under sys/vm, not sys/kern/, so the correct logical place is tests/sys/vm/, not tests/sys/kern/
|
282850 |
13-May-2015 |
ngie |
MFC r262526,r262730:
r262526 (by pho):
Added a regression test for r234131.
Discussed with: asomers Sponsored by: EMC / Isilon storage division
r262730 (by pho):
Changed name of test case to a more descriptive one and moved comment to the "descr" property.
Suggested by: jmmv Sponsored by: EMC / Isilon storage division
|
282842 |
13-May-2015 |
ngie |
MFC r282067:
Integrate tools/regression/fifo into the FreeBSD test suite as tests/sys/fifo and tools/regression/file into the FreeBSD test suite as tests/sys/file
|
282841 |
13-May-2015 |
ngie |
MFC r282063:
Integrate tools/regression/kqueue into the FreeBSD test suite as tests/sys/kqueue
|
276486 |
31-Dec-2014 |
ngie |
MFC r264400,r265836:
r264400:
NO_MAN= has been deprecated in favor of MAN= for some time, go ahead and finish the job. ncurses is now the only Makefile in the tree that uses it since it wasn't a simple mechanical change, and will be addressed in a future commit.
r265836:
Remove last two NO_MAN= in the tree. In both of these cases, MAN= is what is needed.
|
275504 |
05-Dec-2014 |
ngie |
MFC r272057,r272083,r272084,r272087,r274016:
r272057:
Import pjdfstest from ^/vendor/pjdfstest/abf03c3a47745d4521b0e4aa141317553ca48f91
- Remove tools/regression/pjdfstest - Add upgrade directions for contrib/pjdfstest - Add a note to UPDATING for the move (the reachover Makefiles are coming soon)
Functional differences: - ftruncate testcases are added from upstream (github)
Non-functional differences: - The copyright for the project has been updated to 2012 - pjd's contact information has been updated
Discussed with: -testing, jmmv, pjd Sponsored by: EMC / Isilon Storage Division
r272083:
Expect ELOOP on Darwin/Linux with "O_NOFOLLOW was specified and the target is a symbolic link" case. Assume EMLINK on the rest of the OSes (FreeBSD, Solaris, etc)
Sponsored by: EMC / Isilon Storage Division
r272084:
Fix the executed testplan count
Sponsored by: EMC / Isilon Storage Division
r272087:
Increase the memory disk size in the following testcases to avoid mount failures, which would cause cascade failures in the rest of the test run:
link/15.t, open/19.t, mkdir/11.t, mkfifo/11.t, symlink/11.t
Fail quickly in all of the testcases if mdconfig, mount, umount, etc fails to avoid issues similar to this in the future
Submitted by: Casey Peel <cpeel@isilon.com> Sponsored by: EMC / Isilon Storage Division
r274016:
Integrate pjdfstest test suite execution into kyua
pjdfstest execution is opt-in and must be done as root due to some of the assumptions made by the test suite and lack of error checking in the non-root case
A description of how to execute pjdfstest with kyua is provided in share/pjdfstest/README
Phabric: D824 (an earlier prototype patch) Relnotes: yes Sponsored by: EMC / Isilon Storage Division
|
274541 |
15-Nov-2014 |
ngie |
MFC r274021:
Remove explicit KYUAFILE=yes from tests/sys/Makefile
This causes the directory traversing Kyuafile to be installed, which in turn causes tests/sys/pjdfstest to always be run from /usr/tests/sys
Let KYUAFILE default to auto, so the file generated by suite.test.mk gets installed instead
|
274540 |
15-Nov-2014 |
ngie |
MFC r274052:
Remove unused tests/lib directory
|
274539 |
15-Nov-2014 |
ngie |
MFC r274267:
Use PROGS instead of PROG and remove unnecessary SRCS?= assignment
Using PROG instead of PROGS will in cases of high -j with -DNO_ROOT cause the PROG to show up more than once as it's handling the SCRIPTS install case in a recursive manner, separate from the non-recursive case
After the recent batch of commits to bsd.progs.mk to fix behavior with how variables are defaulted to, explicitly setting SRCS for a PROG is no longer required
Reviewed by: asomers Phabric: D1130 Sponsored by: EMC / Isilon Storage Division
|
267195 |
06-Jun-2014 |
asomers |
MFC changes related to PR kern/189089. Unlike CURRENT, stable/10 does not panic when you attempt to remove the IP address. But it still fails to remove the address.
MFC r265094
Add regression test for PR kern/189088.
MFC r265092
Fix a panic when removing an IP address from an interface, if the same address exists on another interface. The panic was introduced by change 264887, which changed the fibnum parameter in the call to rtalloc1_fib() in ifa_switch_loopback_route() from RT_DEFAULT_FIB to RT_ALL_FIBS. The solution is to use the interface fib in that call. For the majority of users, that will be equivalent to the legacy behavior.
|
267193 |
06-Jun-2014 |
asomers |
MFC r264887
Fix host and network routes for new interfaces when net.add_addr_allfibs=0
sys/net/route.c In rtinit1, use the interface fib instead of the process fib. The latter wasn't very useful because ifconfig(8) is usually invoked with the default process fib. Changing ifconfig(8) to use setfib(2) would be redundant, because it already sets the interface fib.
tests/sys/netinet/fibs_test.sh Clear the expected ATF failure
sys/net/if.c Pass the interface fib in calls to rtrequest1_fib and rtalloc1_fib
sys/netinet/in.c sys/net/if_var.h Add a fibnum argument to ifa_switch_loopback_route, a subroutine of in_scrubprefix. Pass it the interface fib.
|
267186 |
06-Jun-2014 |
asomers |
MFC changes relating to running multiple interfaces on different fibs but with addresses on the same subnet.
MFC r266860
Fix unintended KBI change from r264905. Add _fib versions of ifa_ifwithnet() and ifa_ifwithdstaddr() The legacy functions will call the _fib() versions with RT_ALL_FIBS, preserving legacy behavior.
sys/net/if_var.h sys/net/if.c Add legacy-compatible functions as described above. Ensure legacy behavior when RT_ALL_FIBS is passed as fibnum.
sys/netinet/in_pcb.c sys/netinet/ip_output.c sys/netinet/ip_options.c sys/net/route.c sys/net/rtsock.c sys/netinet6/nd6.c Call with _fib() functions if we must use a specific fib, or the legacy functions otherwise.
tests/sys/netinet/fibs_test.sh tests/sys/netinet/udp_dontroute.c Improve the udp_dontroute test. The bug that this test exercises is that ifa_ifwithnet() will return the wrong address, if multiple interfaces have addresses on the same subnet but with different fibs. The previous version of the test only considered one possible failure mode: that ifa_ifwithnet_fib() might fail to find any suitable address at all. The new version also checks whether ifa_ifwithnet_fib() finds the correct address by checking where the ARP request goes.
MFC r264917
Style fixes, mostly trailing whitespace elimination. No functional change.
MFC r264905
Fix subnet and default routes on different FIBs on the same subnet.
These two bugs are closely related. The root cause is that ifa_ifwithnet does not consider FIBs when searching for an interface address.
sys/net/if_var.h sys/net/if.c Add a fib argument to ifa_ifwithnet and ifa_ifwithdstadddr. Those functions will only return an address whose interface fib equals the argument.
sys/net/route.c Update calls to ifa_ifwithnet and ifa_ifwithdstaddr with fib arguments.
sys/netinet/in.c Update in_addprefix to consider the interface fib when adding prefixes. This will prevent it from not adding a subnet route when one already exists on a different fib.
sys/net/rtsock.c sys/netinet/in_pcb.c sys/netinet/ip_output.c sys/netinet/ip_options.c sys/netinet6/nd6.c Add RT_DEFAULT_FIB arguments to ifa_ifwithdstaddr and ifa_ifwithnet. In some cases it there wasn't a clear specific fib number to use. In others, I was unable to test those functions so I chose RT_DEFAULT_FIB to minimize divergence from current behavior. I will fix some of the latter changes along with PR kern/187553.
tests/sys/netinet/fibs_test.sh tests/sys/netinet/udp_dontroute.c tests/sys/netinet/Makefile Revert r263738. The udp_dontroute test was right all along. However, bugs kern/187550 and kern/187553 cancelled each other out when it came to this test. Because of kern/187553, ifa_ifwithnet searched the default fib instead of the requested one, but because of kern/187550, there was an applicable subnet route on the default fib. The new test added in r263738 doesn't work right, however. I can verify with dtrace that ifa_ifwithnet returned the wrong address before I applied this commit, but route(8) miraculously found the correct interface to use anyway. I don't know how.
Clear expected failure messages for kern/187550 and kern/187552.
MFC r263738
tests/sys/netinet/Makefile tests/sys/netinet/fibs.sh Replace fibs:udp_dontroute with fibs:src_addr_selection_by_subnet. The original test was poorly written; it was actually testing kern/167947 instead of the desired kern/187553. The root cause of the bug is that ifa_ifwithnet did not have a fib argument. The new test more directly targets that behavior.
tests/sys/netinet/udp_dontroute.c Delete the auxilliary binary used by the old test
|
267175 |
06-Jun-2014 |
asomers |
MFC r263779
Correct ARP update handling when the routes for network interfaces are restricted to a single FIB in a multifib system.
Restricting an interface's routes to the FIB to which it is assigned (by setting net.add_addr_allfibs=0) causes ARP updates to fail with "arpresolve: can't allocate llinfo for x.x.x.x". This is due to the ARP update code hard coding it's lookup for existing routing entries to FIB 0.
sys/netinet/in.c: When dealing with RTM_ADD (add route) requests for an interface, use the interface's assigned FIB instead of the default (FIB 0).
sys/netinet/if_ether.c: In arpresolve(), enhance error message generated when an lla_lookup() fails so that the interface causing the error is visible in logs.
tests/sys/netinet/fibs_test.sh Clear ATF expected error.
|
265586 |
07-May-2014 |
asomers |
MFC r263445 and r265385. Note that the change to ObsoleteFiles.inc in r265385 does not need to be MFCed, because the obsolete files in question were never MFCed to any stable branch.
r265385 Remove the ifconfig test added in rev 263445. After discussion with melifaro, we agreed that ifconfig's behavior was not a bug. The main motivation for bin/187551 was to partially resolve kern/187549, but we resolved kern/187549 in a different way instead.
ObsoleteFiles.inc etc/mtree/BSD.tests.dist sbin/ifconfig/tests/fibs_test.sh sbin/ifconfig/tests/Makefile sbin/ifconfig/Makefile Remove /usr/tests/sbin/ifconfig
r263445 Add several ATF tests that deal with multiple fibs. They're described in several different PRs, but the tests share some common code, so I'm committing them together.
sbin/ifconfig/tests sbin/ifconfig/tests/fibs_test.sh sbin/ifconfig/tests/Makefile sbin/ifconfig/Makefile Add fibs_test.sh, which regresses bin/187551
tests/sys/netinet tests/sys/netinet/fibs_test.sh tests/sys/netinet/udp_dontroute.c tests/sys/netinet/Makefile tests/sys/Makefile Add fibs_test.sh, which regresses kern/167947, kern/187552 kern/187549, kern/187550, and kern/187553
etc/mtree/BSD.tests.dist Add newly created directories
|
264607 |
17-Apr-2014 |
jmmv |
MFC r264133: Fix variable type to avoid printf formatter warning.
|
264483 |
14-Apr-2014 |
jmmv |
MFC refactoring of the *.test.mk files.
- r263161 Make bsd.test.mk the only public mk fragment for the building of tests. - r263172 Move FreeBSD Test Suite-specific code to a suite.test.mk file. - r263204 Add some documentation for bsd.test.mk. - r263217 Document support for TAP-compliant Perl test programs.
This is "make tinderbox" clean.
|
264080 |
03-Apr-2014 |
asomers |
MFC r263116
Replace 4.4BSD Lite's unix domain socket backpressure hack with a cleaner mechanism, based on the new SB_STOP sockbuf flag. The old hack dynamically changed the sending sockbuf's high water mark whenever adding or removing data from the receiving sockbuf. It worked for stream sockets, but it never worked for SOCK_SEQPACKET sockets because of their atomic nature. If the sockbuf was partially full, it might return EMSGSIZE instead of blocking.
The new solution is based on DragonFlyBSD's fix from commit 3a6117bbe0ed6a87605c1e43e12a1438d8844380 on 2008-05-27. It adds an SB_STOP flag to sockbufs. Whenever uipc_send surpasses the socket's size limit, it sets SB_STOP on the sending sockbuf. sbspace() will then return 0 for that sockbuf, causing sosend_generic and friends to block. uipc_rcvd will likewise clear SB_STOP. There are two fringe benefits: uipc_{send,rcvd} no longer need to call chgsbsize() on every send and receive because they don't change the sockbuf's high water mark. Also, uipc_sense no longer needs to acquire the UIPC linkage lock, because it's simpler to compute the st_blksizes.
There is one drawback: since sbspace() will only ever return 0 or the maximum, sosend_generic will allow the sockbuf to exceed its nominal maximum size by at most one packet of size less than the max. I don't think that's a serious problem. In fact, I'm not even positive that FreeBSD guarantees a socket will always stay within its nominal size limit.
sys/sys/sockbuf.h Add the SB_STOP flag and adjust sbspace()
sys/sys/unpcb.h Delete the obsolete unp_cc and unp_mbcnt fields from struct unpcb.
sys/kern/uipc_usrreq.c Adjust uipc_rcvd, uipc_send, and uipc_sense to use the SB_STOP backpressure mechanism. Removing obsolete unpcb fields from db_show_unpcb.
tests/sys/kern/unix_seqpacket_test.c Clear expected failures from ATF.
|
263820 |
27-Mar-2014 |
asomers |
MFC r262867
Fix PR kern/185813 "SOCK_SEQPACKET AF_UNIX sockets with asymmetrical buffers drop packets". It was caused by a check for the space available in a sockbuf, but it was checking the wrong sockbuf.
sys/sys/sockbuf.h sys/kern/uipc_sockbuf.c Add sbappendaddr_nospacecheck_locked(), which is just like sbappendaddr_locked but doesn't validate the receiving socket's space. Factor out common code into sbappendaddr_locked_internal(). We shouldn't simply make sbappendaddr_locked check the space and then call sbappendaddr_nospacecheck_locked, because that would cause the O(n) function m_length to be called twice.
sys/kern/uipc_usrreq.c Use sbappendaddr_nospacecheck_locked for SOCK_SEQPACKET sockets, because the receiving sockbuf's size limit is irrelevant.
tests/sys/kern/unix_seqpacket_test.c Now that 185813 is fixed, pipe_128k_8k fails intermittently due to 185812. Make it fail every time by adding a usleep after starting the writer thread and before starting the reader thread in test_pipe. That gives the writer time to fill up its send buffer. Also, clear the expected failure message due to 185813. It actually said "185812", but that was a typo.
PR: kern/185813
|
263572 |
21-Mar-2014 |
asomers |
MFC r262868
Only use -lpthread for unix_seqpacket_test, not for all test programs.
MFC r262894
kern/Makefile Set WARNS=5 for all files in this directory kern/unix_seqpacket_test.c Fix compiler warnings. Most were benign, but rcvbuf_oversized wasn't working as intended because I forgot to set the buffer sizes.
|
262871 |
06-Mar-2014 |
asomers |
MFC r262133
test_eagain_*_* should've been using nonblocking sockets instead of blocking sockets. The error was not exposed as long as the kernel suffered from PR kern/185812. Now corrected, these tests pass on DragonFlyBSD 3.6.0.
|
262854 |
06-Mar-2014 |
jmmv |
Install a symlink from /usr/tests/local to /usr/local/tests.
This is a MFC of r261959 and r261978.
|
261857 |
13-Feb-2014 |
asomers |
MFC r261081, r261133, and r261615
r261081 Replace the old unix_seqpacket and unix_seqpacket_exercise tests, which were a little broken and not automatable, with unix_seqpacket_test. It's coverage is a superset of the old tests and it uses ATF. It includes test cases for bugs kern/185813 and kern/185812.
r261133 Fix the Makefiles so that the tests I submitted in r261081 will actually get built.
r261615 tests/sys/Makefile use TESTS_SUBDIRS for kern instead of SUBDIRS. I don't think it makes a difference in this case, but TESTS_SUBDIRS is generally correct for subdirectories that contain tests.
|
260013 |
28-Dec-2013 |
jmmv |
Set up the /usr/tests hierarchy.
This is a MFC of the following into stable/10: - r257097 Set up the /usr/tests hierarchy. - r257098 Add missing WITHOUTTESTS file. - r257100 Add a tests(7) manual page. - r257105 Disable WITHTESTS= for now. - r257848 Fix buildworld when WITHTESTS is enabled. - r257850 Subsume the functionality of MKATF into MKTESTS. - r257851 Handle the removal of the test suite when WITHOUTTESTS=yes. - r257852 Install category Kyuafiles from their category directories. - r258232 Install BSD.tests.mtree when MKTESTS is yes.
Note that building with WITH_TESTS is still broken at this point (and hence why WITHOUT_TESTS is the set as the default). Subsequent pullups will fix the remaining issues.
|
257097 |
25-Oct-2013 |
rpaulo |
Set up the /usr/tests hierarchy.
Populate /usr/tests with the only test programs that currently live in the tree (those in lib/libcrypt/tests/) and add all the build machinery to accompany this change.
In particular:
- Add a WITHOUT_TESTS variable that users can define to request that no tests be put in /usr/tests. - Add a top-level Kyuafile for /usr/tests and a way to create similar Kyuafiles in top-level subdirectories. - Add a BSD.tests.dist file to define the directory layout of /usr/tests.
Submitted by: Julio Merino jmmv google.com Reviewed by: sjg MFC after: 2 weeks
|