mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
linux-kselftest-5.2-rc2
This Kselftest fixes update for Linux 5.2-rc2 consists of: - 2 fixes to regressions introduced in kselftest Makefile test run output refactoring work from Kees Cook. - Adding Atom support to syscall_arg_fault test from Tong Bo. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAlzoUmUACgkQCwJExA0N QxzwxhAAnwCnP1Z5WXTet3GO4tUbzqtoXC05j1Z+zRbxnfA72RSoBu/by8uG4gZf OR9YQ1F7SR+K2V4CkwO8j5BarHun992HuOAQuFXHFIx3oVxWMDprIQr4hVNm7hRF 14mLDsFWe/lHQFOmcZ2vFwCG3uyr1VukWLW0FPknpTaqb5NcaHyYwgheukmUyw5v CSUZ/OKetxD5DmYoxoIONvM0nIk6iLZtnblSCfiNe9XTzpTD9ngs9Gwn5m1ILN8F HetnOXcjq52SnN5VR6oJt75CvTlqmj9EmuLhhd8PJ4Jgq2TCmRQFxc6WjnBh03IZ 8AMq5w4JPd+XEIf1QeNmfV2w9T4/ftFvAlMz46aUPDkeBfKLRCcTAlfkhotru6a9 Vxkk1PD/+wxFH22ktA8asnXhyfQAegpUWlR2e8Efr7uE1PCl55KBkU9BZYjla9GP Av6wo03ENcuy/eJ/i61H8eygOXRw9pGdJut/P/tEPwBlgdfz8V8/oelX/WQvfUIz fff6lxZgtzoStICOYJFHNCsNZIdIeOtdU+27U2BHRIUQkrkhctcFrn0xXe4ETls8 ZH1SvkIwFnD7Ib+Iztf3ZSyF3Bi4G3tqPfc1WNSbHbJ2LOa5HGZecyd+zJOvnng1 6smviLK3FcwkJn+Pl0/CRkzEzP/dwpqgE1eJPSR7iy++ypv7E7o= =BYfS -----END PGP SIGNATURE----- Merge tag 'linux-kselftest-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull Kselftest fixes from Shuah Khan: - Two fixes to regressions introduced in kselftest Makefile test run output refactoring work (Kees Cook) - Adding Atom support to syscall_arg_fault test (Tong Bo) * tag 'linux-kselftest-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/timers: Add missing fflush(stdout) calls selftests: Remove forced unbuffering for test running selftests/x86: Support Atom for syscall_arg_fault test
This commit is contained in:
commit
7f8b40e3db
@ -24,16 +24,6 @@ tap_prefix()
|
||||
fi
|
||||
}
|
||||
|
||||
# If stdbuf is unavailable, we must fall back to line-at-a-time piping.
|
||||
tap_unbuffer()
|
||||
{
|
||||
if ! which stdbuf >/dev/null ; then
|
||||
"$@"
|
||||
else
|
||||
stdbuf -i0 -o0 -e0 "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
run_one()
|
||||
{
|
||||
DIR="$1"
|
||||
@ -54,7 +44,7 @@ run_one()
|
||||
echo "not ok $test_num $TEST_HDR_MSG"
|
||||
else
|
||||
cd `dirname $TEST` > /dev/null
|
||||
(((((tap_unbuffer ./$BASENAME_TEST 2>&1; echo $? >&3) |
|
||||
(((((./$BASENAME_TEST 2>&1; echo $? >&3) |
|
||||
tap_prefix >&4) 3>&1) |
|
||||
(read xs; exit $xs)) 4>>"$logfile" &&
|
||||
echo "ok $test_num $TEST_HDR_MSG") ||
|
||||
|
@ -136,6 +136,7 @@ int check_tick_adj(long tickval)
|
||||
|
||||
eppm = get_ppm_drift();
|
||||
printf("%lld usec, %lld ppm", systick + (systick * eppm / MILLION), eppm);
|
||||
fflush(stdout);
|
||||
|
||||
tx1.modes = 0;
|
||||
adjtimex(&tx1);
|
||||
|
@ -101,6 +101,7 @@ int main(void)
|
||||
}
|
||||
clear_time_state();
|
||||
printf(".");
|
||||
fflush(stdout);
|
||||
}
|
||||
printf("[OK]\n");
|
||||
return ksft_exit_pass();
|
||||
|
@ -102,6 +102,7 @@ int main(int argc, char **argv)
|
||||
int ret;
|
||||
|
||||
printf("Mqueue latency : ");
|
||||
fflush(stdout);
|
||||
|
||||
ret = mqueue_lat_test();
|
||||
if (ret < 0) {
|
||||
|
@ -142,6 +142,7 @@ int main(int argc, char **argv)
|
||||
continue;
|
||||
|
||||
printf("Nanosleep %-31s ", clockstring(clockid));
|
||||
fflush(stdout);
|
||||
|
||||
length = 10;
|
||||
while (length <= (NSEC_PER_SEC * 10)) {
|
||||
|
@ -155,6 +155,7 @@ int main(int argc, char **argv)
|
||||
continue;
|
||||
|
||||
printf("nsleep latency %-26s ", clockstring(clockid));
|
||||
fflush(stdout);
|
||||
|
||||
length = 10;
|
||||
while (length <= (NSEC_PER_SEC * 10)) {
|
||||
|
@ -112,6 +112,7 @@ int main(int argv, char **argc)
|
||||
printf("WARNING: ADJ_OFFSET in progress, this will cause inaccurate results\n");
|
||||
|
||||
printf("Estimating clock drift: ");
|
||||
fflush(stdout);
|
||||
sleep(120);
|
||||
|
||||
get_monotonic_and_raw(&mon, &raw);
|
||||
|
@ -55,6 +55,7 @@ int main(int argc, char **argv)
|
||||
printf("tai offset started at %i\n", ret);
|
||||
|
||||
printf("Checking tai offsets can be properly set: ");
|
||||
fflush(stdout);
|
||||
for (i = 1; i <= 60; i++) {
|
||||
ret = set_tai(i);
|
||||
ret = get_tai();
|
||||
|
@ -65,6 +65,7 @@ int main(int argc, char **argv)
|
||||
printf("tz_minuteswest started at %i, dst at %i\n", min, dst);
|
||||
|
||||
printf("Checking tz_minuteswest can be properly set: ");
|
||||
fflush(stdout);
|
||||
for (i = -15*60; i < 15*60; i += 30) {
|
||||
ret = set_tz(i, dst);
|
||||
ret = get_tz_min();
|
||||
@ -76,6 +77,7 @@ int main(int argc, char **argv)
|
||||
printf("[OK]\n");
|
||||
|
||||
printf("Checking invalid tz_minuteswest values are caught: ");
|
||||
fflush(stdout);
|
||||
|
||||
if (!set_tz(-15*60-1, dst)) {
|
||||
printf("[FAILED] %i didn't return failure!\n", -15*60-1);
|
||||
|
@ -163,6 +163,7 @@ int main(int argc, char **argv)
|
||||
strftime(buf, 255, "%a, %d %b %Y %T %z", localtime(&start));
|
||||
printf("%s\n", buf);
|
||||
printf("Testing consistency with %i threads for %ld seconds: ", thread_count, runtime);
|
||||
fflush(stdout);
|
||||
|
||||
/* spawn */
|
||||
for (i = 0; i < thread_count; i++)
|
||||
|
@ -123,6 +123,7 @@ int validate_freq(void)
|
||||
/* Set the leap second insert flag */
|
||||
|
||||
printf("Testing ADJ_FREQ... ");
|
||||
fflush(stdout);
|
||||
for (i = 0; i < NUM_FREQ_VALID; i++) {
|
||||
tx.modes = ADJ_FREQUENCY;
|
||||
tx.freq = valid_freq[i];
|
||||
@ -250,6 +251,7 @@ int set_bad_offset(long sec, long usec, int use_nano)
|
||||
int validate_set_offset(void)
|
||||
{
|
||||
printf("Testing ADJ_SETOFFSET... ");
|
||||
fflush(stdout);
|
||||
|
||||
/* Test valid values */
|
||||
if (set_offset(NSEC_PER_SEC - 1, 1))
|
||||
|
@ -43,7 +43,7 @@ static sigjmp_buf jmpbuf;
|
||||
|
||||
static volatile sig_atomic_t n_errs;
|
||||
|
||||
static void sigsegv(int sig, siginfo_t *info, void *ctx_void)
|
||||
static void sigsegv_or_sigbus(int sig, siginfo_t *info, void *ctx_void)
|
||||
{
|
||||
ucontext_t *ctx = (ucontext_t*)ctx_void;
|
||||
|
||||
@ -73,7 +73,13 @@ int main()
|
||||
if (sigaltstack(&stack, NULL) != 0)
|
||||
err(1, "sigaltstack");
|
||||
|
||||
sethandler(SIGSEGV, sigsegv, SA_ONSTACK);
|
||||
sethandler(SIGSEGV, sigsegv_or_sigbus, SA_ONSTACK);
|
||||
/*
|
||||
* The actual exception can vary. On Atom CPUs, we get #SS
|
||||
* instead of #PF when the vDSO fails to access the stack when
|
||||
* ESP is too close to 2^32, and #SS causes SIGBUS.
|
||||
*/
|
||||
sethandler(SIGBUS, sigsegv_or_sigbus, SA_ONSTACK);
|
||||
sethandler(SIGILL, sigill, SA_ONSTACK);
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user