Skip to content

Commit

Permalink
Merge tag 'linux-kselftest-5.2-rc2' of git://git.kernel.org/pub/scm/l…
Browse files Browse the repository at this point in the history
…inux/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
  • Loading branch information
torvalds committed May 24, 2019
2 parents e7bd3e2 + fe48319 commit 7f8b40e
Show file tree
Hide file tree
Showing 12 changed files with 21 additions and 13 deletions.
12 changes: 1 addition & 11 deletions tools/testing/selftests/kselftest/runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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") ||
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/adjtick.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/leapcrash.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ int main(void)
}
clear_time_state();
printf(".");
fflush(stdout);
}
printf("[OK]\n");
return ksft_exit_pass();
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/mqueue-lat.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ int main(int argc, char **argv)
int ret;

printf("Mqueue latency : ");
fflush(stdout);

ret = mqueue_lat_test();
if (ret < 0) {
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/nanosleep.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/nsleep-lat.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/raw_skew.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/set-tai.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
2 changes: 2 additions & 0 deletions tools/testing/selftests/timers/set-tz.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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);
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/timers/threadtest.c
Original file line number Diff line number Diff line change
Expand Up @@ -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++)
Expand Down
2 changes: 2 additions & 0 deletions tools/testing/selftests/timers/valid-adjtimex.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand Down Expand Up @@ -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))
Expand Down
10 changes: 8 additions & 2 deletions tools/testing/selftests/x86/syscall_arg_fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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);

/*
Expand Down

0 comments on commit 7f8b40e

Please sign in to comment.