Commit d35ca2f6 authored by André Almeida's avatar André Almeida Committed by Thomas Gleixner
Browse files

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: default avatarAndré Almeida <andrealmeid@igalia.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 4ba629e6
Loading
Loading
Loading
Loading
+8 −33
Original line number Diff line number Diff line
@@ -16,9 +16,9 @@
#include <linux/futex.h>
#include <sys/mman.h>

#include "logging.h"
#include "futextest.h"
#include "futex2test.h"
#include "../../kselftest_harness.h"

#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);
}

static void usage(char *prog)
static void test_futex_mpol(void *futex_ptr, int err_value)
{
	printf("Usage: %s\n", prog);
	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);
	__test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA | FUTEX2_MPOL);
}

int main(int argc, char *argv[])
TEST(futex_numa_mpol)
{
	struct futex32_numa *futex_numa;
	int mem_size;
	void *futex_ptr;
	int c;

	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);
	int mem_size;

	mem_size = sysconf(_SC_PAGE_SIZE);
	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
	ksft_test_result_skip("futex2 MPOL hints test requires libnuma 2.0.16+\n");
#endif
	ksft_finished();
	return 0;
	munmap(futex_ptr, mem_size * 2);
}

TEST_HARNESS_MAIN
+1 −14
Original line number Diff line number Diff line
@@ -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
./futex_requeue_pi

@@ -63,4 +50,4 @@ echo
./futex_priv_hash

echo
./futex_numa_mpol $COLOR
./futex_numa_mpol