mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
selftests/futex: Refactor futex_numa_mpol with kselftest_harness.h
To reduce the boilerplate code, refactor futex_numa_mpol test to use kselftest_harness header instead of futex's logging header. Signed-off-by: André Almeida <andrealmeid@igalia.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
4ba629e6c6
commit
d35ca2f642
|
|
@ -16,9 +16,9 @@
|
||||||
#include <linux/futex.h>
|
#include <linux/futex.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
#include "logging.h"
|
|
||||||
#include "futextest.h"
|
#include "futextest.h"
|
||||||
#include "futex2test.h"
|
#include "futex2test.h"
|
||||||
|
#include "../../kselftest_harness.h"
|
||||||
|
|
||||||
#define MAX_THREADS 64
|
#define MAX_THREADS 64
|
||||||
|
|
||||||
|
|
@ -131,42 +131,16 @@ static void test_futex(void *futex_ptr, int err_value)
|
||||||
__test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA);
|
__test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usage(char *prog)
|
static void test_futex_mpol(void *futex_ptr, int err_value)
|
||||||
{
|
{
|
||||||
printf("Usage: %s\n", prog);
|
__test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA | FUTEX2_MPOL);
|
||||||
printf(" -c Use color\n");
|
|
||||||
printf(" -h Display this help message\n");
|
|
||||||
printf(" -v L Verbosity level: %d=QUIET %d=CRITICAL %d=INFO\n",
|
|
||||||
VQUIET, VCRITICAL, VINFO);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
TEST(futex_numa_mpol)
|
||||||
{
|
{
|
||||||
struct futex32_numa *futex_numa;
|
struct futex32_numa *futex_numa;
|
||||||
int mem_size;
|
|
||||||
void *futex_ptr;
|
void *futex_ptr;
|
||||||
int c;
|
int mem_size;
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "chv:")) != -1) {
|
|
||||||
switch (c) {
|
|
||||||
case 'c':
|
|
||||||
log_color(1);
|
|
||||||
break;
|
|
||||||
case 'h':
|
|
||||||
usage(basename(argv[0]));
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
log_verbosity(atoi(optarg));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
usage(basename(argv[0]));
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ksft_print_header();
|
|
||||||
ksft_set_plan(2);
|
|
||||||
|
|
||||||
mem_size = sysconf(_SC_PAGE_SIZE);
|
mem_size = sysconf(_SC_PAGE_SIZE);
|
||||||
futex_ptr = mmap(NULL, mem_size * 2, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
|
futex_ptr = mmap(NULL, mem_size * 2, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
|
||||||
|
|
@ -239,6 +213,7 @@ int main(int argc, char *argv[])
|
||||||
#else
|
#else
|
||||||
ksft_test_result_skip("futex2 MPOL hints test requires libnuma 2.0.16+\n");
|
ksft_test_result_skip("futex2 MPOL hints test requires libnuma 2.0.16+\n");
|
||||||
#endif
|
#endif
|
||||||
ksft_finished();
|
munmap(futex_ptr, mem_size * 2);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_HARNESS_MAIN
|
||||||
|
|
|
||||||
|
|
@ -18,19 +18,6 @@
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Test for a color capable console
|
|
||||||
if [ -z "$USE_COLOR" ]; then
|
|
||||||
tput setf 7 || tput setaf 7
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
USE_COLOR=1
|
|
||||||
tput sgr0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ "$USE_COLOR" -eq 1 ]; then
|
|
||||||
COLOR="-c"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
./futex_requeue_pi
|
./futex_requeue_pi
|
||||||
|
|
||||||
|
|
@ -63,4 +50,4 @@ echo
|
||||||
./futex_priv_hash
|
./futex_priv_hash
|
||||||
|
|
||||||
echo
|
echo
|
||||||
./futex_numa_mpol $COLOR
|
./futex_numa_mpol
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user