Commit Graph

3379 Commits

Author SHA1 Message Date
martin
d2225bb82b Skip all tests on architectures w/o ifunc linker/ld.elf_so support. 2017-12-30 16:53:34 +00:00
martin
30d82e28be Implement helper function for alpha 2017-12-30 16:35:03 +00:00
christos
8008d9c3e9 mips panic should be fixed on head. 2017-12-28 18:41:33 +00:00
kamil
994e8d0d72 atf: ptrace: Temporarily skip fpregs* tests on pmax
NetBSD/pmax 8.99.9 panics when attempting to use fpregs through ptrace(2).

Sponsored by <The NetBSD Foundation>
2017-12-28 09:47:52 +00:00
ozaki-r
bd91015475 Fix build 2017-12-28 07:46:34 +00:00
ozaki-r
61673e6ea4 Add a test case for workqueue_wait 2017-12-28 07:10:25 +00:00
ozaki-r
bfde781fbe Functionalize some routines to add new tests easily (NFC) 2017-12-28 07:09:31 +00:00
ozaki-r
bf33e35aca Fix a race condition on taking the mutex
The workqueue worker can take the mutex before the tester tries to take it after
calling workqueue_enqueue. If it happens, the worker calls cv_broadcast before
the tester calls cv_timedwait and the tester will wait until the cv timed out

Take the mutex before calling workqueue_enqueue so that the tester surely calls
cv_timedwait before the worker calls cv_broadcast.

The fix stabilizes the test, t_workqueue/workqueue1.
2017-12-28 04:38:02 +00:00
ozaki-r
1315c7eeb1 Tweak use of cv_timedwait
- Handle its return value
- Specify more appropriate time-out periods (2 ticks is too short)
2017-12-28 04:36:15 +00:00
kamil
0c4b31088a atf: ptrace: Temporarily disable signal3 as it breaks now on some ports
This test is marked as failing with: PR kern/51918.
2017-12-27 13:38:51 +00:00
kamil
7db1f47f48 atf: t_ptrace_wait: Mark attach2 as racy 2017-12-25 12:38:01 +00:00
christos
57ab0cb5b9 fix priority tests for SCHED_OTHER 2017-12-24 17:37:23 +00:00
christos
17ceb61284 report which errno failed 2017-12-23 22:07:57 +00:00
kamil
8bb892187e ptrace atf: Clanup reports of failures
Mark resume* suspend* tests as expected failure and link with PR 51995.

Sponsored by <The NetBSD Foundation>
2017-12-22 17:35:14 +00:00
kamil
1432f3fc87 t_ptrace_wait*: Disable suspend* tests
These tests can hang the system. These interfaces will be improved and
temporarily disable them.
2017-12-21 09:56:47 +00:00
christos
1abf1d7802 Fix broken test: we can't assume that the current schedule priority range
will overlap with the requested scheduler range, so get the new scheduler
range, and then try to find a different priority. If that fails (to find
a different scheduling range), give up here.
2017-12-21 03:31:43 +00:00
christos
3a05faa2d8 make it fail instead of hang under qemu; XXX: need to investigate. 2017-12-18 19:20:40 +00:00
christos
a0fb54ab67 Don't use SCHED_OTHER. 2017-12-18 13:18:23 +00:00
ozaki-r
0602b7c074 Adjust outputs of route's flags to include a numeric output 2017-12-18 04:11:46 +00:00
christos
1cbfcb1c83 Add expected failures. 2017-12-16 14:45:25 +00:00
christos
3bbd410a66 sync a bit more with reality; some things still fail, some new failures.
reduce spewage, be more explanatory about syscall errors.
2017-12-14 22:06:54 +00:00
nakayama
036e3ece76 Use SCRIPTS instead of PROGS to avoid strip(1) if STRIPFLAG=-s. 2017-12-14 14:38:17 +00:00
rin
d4c8f2d859 Revert rev 1.4: fmtcheck(3) neglect unused trailing arguments as before.
"%d" is a valid format string with default format string "%d %s", etc.
2017-12-13 06:47:04 +00:00
christos
3fd3ffc3a1 PR/52812: scole_mail: src/tests/kernel/t_timeleft.c doesn't compile with MKRUMP=no
It needs libpthread regardless MKRUMP..
2017-12-12 18:19:45 +00:00
ryo
c2f85cb6e9 As is the case with IPV6_PKTINFO, IP_PKTINFO can be sent without EADDRINUSE
even if the UDP address:port in use is specified.
2017-12-11 05:47:18 +00:00
bouyer
878cb1cfc5 Fix fallout from hid factorisation:
- need to install sys/dev/hid/hid.h for userland
- include it where needed - most of the time in place if usb/usbhid.h
2017-12-10 20:38:13 +00:00
christos
f765c47147 Add tests to make sure that the program name is what it is supposed to be. 2017-12-10 15:37:54 +00:00
christos
af7e02e58a Remove expected failure (fixed in kern_sig.c 1.339) 2017-12-10 14:09:42 +00:00
christos
0b33a75d8f fix usage. 2017-12-08 14:40:45 +00:00
christos
85bf85b701 make _lwp_park return the remaining time to sleep in the "ts" argument
if it is a relative timestamp, as discussed in tech-kern.
XXX: pullup-8
2017-12-08 01:19:29 +00:00
kre
20fdaa6a50 Update this test to expect the output that is supposed to be produced
by strfmon() rather than the output the old buggy implementation used
to produce.
2017-12-07 22:23:14 +00:00
christos
962d0d23f1 Add trapsignal tests that make sure that traps don't end up spinning
indefinitely, discussed in tech-kern.
2017-12-07 19:46:40 +00:00
kre
38400c3efe Correct a couple of broken test cases:
"%d"  does not take the same args as "%d %s"
	"%%"  does not take the same args as "%llx"
How did these ever survive any kind of even basic sanity check?
2017-12-07 09:37:33 +00:00
christos
f2c3026d0a add a test to check that the interpreter is preserved when executing scripts. 2017-12-06 13:54:26 +00:00
kamil
7a515d1c37 Temporarily disable t_ptrace_wait*::resume1 in ATF tests
It hangs forever on releng machines.

Sponsored by <The NetBSD Foundation>
2017-12-04 12:53:46 +00:00
kre
e55c81dc8f Since there has been no objection (or even comment) in response
to my message on tech-userlevel ...

    Subject: tests/lib/libpthread/t_mutex:mutex6
    Date: Thu, 23 Nov 2017 17:34:54 +0700
    Message-ID: <28385.1511433294@andromeda.noi.kre.to>

which can be found at:
	http://mail-index.netbsd.org/tech-userlevel/2017/11/23/msg011010.html

which analysed the mutex6 test case of this test, and concluded
that it was useless, nonsense, and broken (the whole test is just a
race - not even really using or testing mutexes), let it be henceforth
forever gone.
2017-12-01 13:25:29 +00:00
kre
3772e94e67 Since the C standard allows for intermediate floating results to contain
more precision bits than the data type expects, but (kind of obviously)
does not allow such values to be stored in memory, expecting the value
returned from strtod() (an intermediate result) to be identical (that is,
equal) to a stored value is incorrect.

So instead go back to checking that the two numbers are very very close.
See comments added to the test for more explanation.
2017-12-01 01:08:35 +00:00
kre
52a978120f Revert 1.4 (perhaps temporarily) and add even more diagnostics to those
added in 1.3 to see if it is possible to determine why the strict equality
test fails on i386, yet succeeds elsewhere.
2017-11-28 23:26:01 +00:00
kre
9fefbad1a9 Make this test somewhat deterministic - far fewer races, and most
of what are left are "race for the bus" type - if we lose, we just
wait for the next one ... slower but still reliable.

There are two exceptions ... when starting more than one rtadvd
(on different routers) we expect to receive an RA from each, but
all that we can check is that we received the (at least) right number
of RAs.  It is possible (though unlikely) that one router sent two
before another sent any, in which case we will not have the data we
expect, and a sub-test will fail.

Second, there is no way to know for sure that we have waited long
enough when we're waiting for data to expire - in systems with
correctly working clocks that actually measure time, this should not
be an issue, if data is due to expire in < 5 seconds, and we wait
5 seconds, and the data is still there, then that indicates a
failure, which should be detected.   Unfortunately with QEMU testing
time just isn't that reliable.  But fortunately, it is generally the
sleep which takes longer, while other timers run correctly, which is
the way that makes us happy...

While here lots of cleanups - everything from white space and
line wrapping, to removing superfluous quotes and adding some
(but probably not enough) that are not (though given the data is
all known here, lack of quotes will rarely hurt.)

Also take note of the fact that current rtadvd *cannot* delete its
pidfile, so waiting for that file to be removed is doomed to failure.
Do things in a way that works, rather than simply resorting to assassination.

Because we do a lot less "sleep and hope it is long enough" and more
"wait until it is observed to happen" the tests generally run in less
elapsed time than before (20% less has been observed.)  But because we
"wait until it is observed to happen" rather than just "sleep and hope
it is long enough" sometimes things take longer (and when that happens,
we no longer fail).  Up to 7% slower (overall) has been observed.
(Observations on an amd64 DomU, no idea yet as to what QEMU might observe.)
2017-11-25 07:58:47 +00:00
kre
fa3a535c5c When comparing doubles (any floating point values) which have been
computed using different methods, don't expect to achieve identical
results (here, one constant is perhaps converted to binary from a string by
a cross compiler, the other is converted at run time).   Allow them to
have a small difference (for now, small is < 1e-7 - the constant is ~ 1e5,
so this is 12 orders of magnitude less) before failing (and include the
actual difference in the error message if it does fail.)
2017-11-24 21:30:43 +00:00
kre
ec8433427a Fix the ndp_rtm test the same way the arp_rtm test was fixed:
1. get pid of bg process with $! not $?
2. expect a single message from route monitor, not two, after ndp -d
3. run atf_check just once to verify correct output, not once for each string
2017-11-24 03:38:32 +00:00
kre
91d7a90044 Cosmetic changes, NFC intended.
1. get rid of the "$*" fetish.
2. more consistency (not complete .. yet) with RUMP_SERVER setting
3. white space (esp around pipe ('|') symbols.)
4. drop unnecessary \ line joining.
2017-11-24 03:28:49 +00:00
kre
b19b969600 Add some diagnostics to the strto test, so I can see why this
fails on i386 (on qemu) - will probably keep them when done.
2017-11-23 23:47:09 +00:00
kre
af284e4305 Clean up the arp_rtm subtest...
1. Be assertive when claiming the pid of the background route monitor command,
   not polite...  (ie: $! will give you the pid, $? is just 0 there).
2. Since "wait 0" simply (always) exits with status 127, immediately (we
   know without thinking that we have no child with pid 0) the waits were
   ineffective - now (after fix #1) they work .. which requires the
   route monitor that watches the arp -d to exit after 1 message, not 2,
   as 1 is all it gets.   (If there really should be 2, someone needs to
   find out why the kernel is sending only 1 - I am not that someone).
3. The file contents need to be read only once, no matter how many patterns
   we need to look for, save some work, and do it that way (this is not
   really a bug,m but saving time for the ATF tests is always a good thing.)

Not sure if this will stop it randomly failing on bablyon5, but it might.
(The likely cause is that the "route.monitor" has not flushed its stdout
buffers at the time the "grep -A 3"  [aside: why that way to read the file??]
is performed, so fails to find its expected output ... the route monitor would
get an extra message once interfaces start being destroyed, I assume, and
would exit then, flushing its buffer, but by then it is too late.
If that is/was the cause, then it should be fixed now.)
2017-11-23 06:22:12 +00:00
kre
995ebd076a Since there was already a test to verify that vlan tag 4096 is
detected as invalid, become the "someone" referred to in the
previous commit log, and add tests for 0 and 4095 as well, and
while here, throw in a few more that might elicit bugs.

And if the shell running the tests is able, add tests of a few
random vlan tags between 2 and 4093 (1 and 4094 are always tested)
to check that anything in range works (well, partially check...)
2017-11-23 04:59:49 +00:00
kre
9327d63f48 Don't attempt to test vlan tags 0 or 4095, which are now rejected
as invalid (perhaps someone could add a test to verify that they
continue to be rejected?)
2017-11-23 04:12:36 +00:00
kre
1cec45a93f PR lib/52007
Move libevent from being a test playing sub-directory, to a groupy,
just hanging around, hoping someone will notice it, and throw it
a bone...  (mixed metaphors?)
2017-11-23 02:40:01 +00:00
martin
c567f1919d ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.
2017-11-19 21:05:26 +00:00
martin
7886ea7b21 PR kern/52167 strikes on sparc64 too. 2017-11-18 17:00:00 +00:00
kre
a60600e0af Add a test case for "set -X".
Currently (or when testing any shell that does not support -X) the
test will be skipped (also for [m]ksh (but not ksh93 etc) where there
is an absurdly badly named -X option, skip the new test for them as well.)

When -X appears in /bin/sh, this will verify that it is probably working
(the test is MUCH more gruelling than any rational use of -X would be.)
2017-11-16 19:41:41 +00:00