blob: b2ebc94b964906faebbea8cc39b271513fadd834 [file] [log] [blame]
<assertions>
<assertion id="1" tag="pt:CS" files="">
The clock time can be set to 0, a large number, Y2K critical dates,
and times around daylight savings.
</assertion>
<assertion id="2" tag="pt:CS" files="">
clock_gettime() with CLOCK_REALTIME is monotonically increasing in both
seconds and nanoseconds.
</assertion>
<assertion id="3" tag="pt:CS" files="">
Clock time for clocks:
CLOCK_REALTIME
CLOCK_MONOTONIC
is equivalent to some known good clock over time, even if the time
is reset.
</assertion>
<assertion id="4" tag="pt:CS" files="">
Having a call to clock_settime() interrupted with a signal does not
affect the setting of the clock.
</assertion>
<assertion id="5" tag="pt:CS" files="">
Killing a process setting the clock does not affect the clock time in
an unpredictable fashion.
</assertion>
<assertion id="6" tag="pt:CS" files="">
If clocktime is set as a timer expires, the time is still set correctly.
</assertion>
<assertion id="7" tag="pt:CS" files="clocks/twopsetclock.c">
Two processes can attempt to set the clock at (nearly) the same time and
both sets will succeed, with the later one taking effect.
</assertion>
<assertion id="8" tag="pt:TMR" files="">
The a timer can be set to expire at 0, a large number, Y2K critical dates,
and times around daylight savings with no unpredictable results.
</assertion>
<assertion id="9" tag="pt:TMR" files="">
Timers (relative and absolute) expire at the POSIX-defined times when the
clock changes.
</assertion>
<assertion id="10" tag="pt:TMR" files="">
Multiple relative timers set up in a particular order (possibly with a small
delay between each) expire in the order set up. [Not required by POSIX,
though, so this should not fail if it does not work.]
</assertion>
<assertion id="11" tag="pt:TMR" files="">
All possible events can be sent on timer expirations.
</assertion>
<assertion id="12" tag="pt:TMR" files="timers/twoevtimers.c">
Two timers in one process can expire at the same time, but with
different events.
</assertion>
<assertion id="13" tag="pt:TMR" files="timers/twoptimers.c">
Timers in two different processes which are set to expire at the same time
are able to expire at the same time.
</assertion>
<assertion id="14" tag="pt:TMR" files="">
A repeating timer set to expire at time X and a non-repeating set to
expire at 2X will both expire at the same time at 2X.
</assertion>
<assertion id="15" tag="pt:TMR" files="">
A repeating timer will expire at the correct time for at least ten
expirations.
</assertion>
<assertion id="16" tag="pt:TMR" files="">
For multiple repeating timers with different intervals blocked, the
overrun count for each is correct.
</assertion>
<assertion id="17" tag="pt:TMR" files="">
Overrun count and timer_gettime() return correct values when
SIGEV_NONE is used in ev.sigev_notify.
</assertion>
<assertion id="18" tag="pt:TMR" files="">
Calling timer_getoverrun() as an overrun is happening returns the
correct value.
</assertion>
<assertion id="19" tag="pt:TMR" files="">
A process can sleep until 0, a large number, Y2K critical dates,
and times around daylight savings with no unpredictable results.
</assertion>
<assertion id="20" tag="pt:TMR" files="">
Sleeps (relative and absolute) expire at the POSIX-defined times when the
clock changes.
</assertion>
<assertion id="21" tag="pt:TMR" files="">
Sleeps in two different processes which are set to end at the same time
are able to end at the same time.
</assertion>
</assertions>