Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

André Almeida and committed by
Thomas Gleixner
d35ca2f6 4ba629e6

+9 -47
+8 -33
tools/testing/selftests/futex/functional/futex_numa_mpol.c
··· 16 16 #include <linux/futex.h> 17 17 #include <sys/mman.h> 18 18 19 - #include "logging.h" 20 19 #include "futextest.h" 21 20 #include "futex2test.h" 21 + #include "../../kselftest_harness.h" 22 22 23 23 #define MAX_THREADS 64 24 24 ··· 131 131 __test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA); 132 132 } 133 133 134 - static void usage(char *prog) 134 + static void test_futex_mpol(void *futex_ptr, int err_value) 135 135 { 136 - printf("Usage: %s\n", prog); 137 - printf(" -c Use color\n"); 138 - printf(" -h Display this help message\n"); 139 - printf(" -v L Verbosity level: %d=QUIET %d=CRITICAL %d=INFO\n", 140 - VQUIET, VCRITICAL, VINFO); 136 + __test_futex(futex_ptr, err_value, FUTEX2_SIZE_U32 | FUTEX_PRIVATE_FLAG | FUTEX2_NUMA | FUTEX2_MPOL); 141 137 } 142 138 143 - int main(int argc, char *argv[]) 139 + TEST(futex_numa_mpol) 144 140 { 145 141 struct futex32_numa *futex_numa; 146 - int mem_size; 147 142 void *futex_ptr; 148 - int c; 149 - 150 - while ((c = getopt(argc, argv, "chv:")) != -1) { 151 - switch (c) { 152 - case 'c': 153 - log_color(1); 154 - break; 155 - case 'h': 156 - usage(basename(argv[0])); 157 - exit(0); 158 - break; 159 - case 'v': 160 - log_verbosity(atoi(optarg)); 161 - break; 162 - default: 163 - usage(basename(argv[0])); 164 - exit(1); 165 - } 166 - } 167 - 168 - ksft_print_header(); 169 - ksft_set_plan(2); 143 + int mem_size; 170 144 171 145 mem_size = sysconf(_SC_PAGE_SIZE); 172 146 futex_ptr = mmap(NULL, mem_size * 2, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); ··· 213 239 #else 214 240 ksft_test_result_skip("futex2 MPOL hints test requires libnuma 2.0.16+\n"); 215 241 #endif 216 - ksft_finished(); 217 - return 0; 242 + munmap(futex_ptr, mem_size * 2); 218 243 } 244 + 245 + TEST_HARNESS_MAIN
+1 -14
tools/testing/selftests/futex/functional/run.sh
··· 18 18 # 19 19 ############################################################################### 20 20 21 - # Test for a color capable console 22 - if [ -z "$USE_COLOR" ]; then 23 - tput setf 7 || tput setaf 7 24 - if [ $? -eq 0 ]; then 25 - USE_COLOR=1 26 - tput sgr0 27 - fi 28 - fi 29 - if [ "$USE_COLOR" -eq 1 ]; then 30 - COLOR="-c" 31 - fi 32 - 33 - 34 21 echo 35 22 ./futex_requeue_pi 36 23 ··· 50 63 ./futex_priv_hash 51 64 52 65 echo 53 - ./futex_numa_mpol $COLOR 66 + ./futex_numa_mpol