xref: /linux/tools/testing/selftests/membarrier/membarrier_test_single_thread.c (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
119a4ff53SMathieu Desnoyers // SPDX-License-Identifier: GPL-2.0
219a4ff53SMathieu Desnoyers #define _GNU_SOURCE
319a4ff53SMathieu Desnoyers #include <linux/membarrier.h>
419a4ff53SMathieu Desnoyers #include <syscall.h>
519a4ff53SMathieu Desnoyers #include <stdio.h>
619a4ff53SMathieu Desnoyers #include <errno.h>
719a4ff53SMathieu Desnoyers #include <string.h>
819a4ff53SMathieu Desnoyers #include <pthread.h>
919a4ff53SMathieu Desnoyers 
1019a4ff53SMathieu Desnoyers #include "membarrier_test_impl.h"
1119a4ff53SMathieu Desnoyers 
main(int argc,char ** argv)1219a4ff53SMathieu Desnoyers int main(int argc, char **argv)
1319a4ff53SMathieu Desnoyers {
1419a4ff53SMathieu Desnoyers 	ksft_print_header();
15d74f87f3SMichal Clapinski 	ksft_set_plan(18);
16d74f87f3SMichal Clapinski 
17d74f87f3SMichal Clapinski 	test_membarrier_get_registrations(/*cmd=*/0);
1819a4ff53SMathieu Desnoyers 
1919a4ff53SMathieu Desnoyers 	test_membarrier_query();
2019a4ff53SMathieu Desnoyers 
2119a4ff53SMathieu Desnoyers 	test_membarrier_fail();
2219a4ff53SMathieu Desnoyers 
2319a4ff53SMathieu Desnoyers 	test_membarrier_success();
2419a4ff53SMathieu Desnoyers 
25d74f87f3SMichal Clapinski 	test_membarrier_get_registrations(/*cmd=*/0);
26d74f87f3SMichal Clapinski 
27*a9c91ecdSNathan Chancellor 	ksft_exit_pass();
2819a4ff53SMathieu Desnoyers }
29