From: Abhishek Dubey <[email protected]>

With support of private stack, relevant tests must pass
on powerpc64.

#./test_progs -t struct_ops_private_stack
#434/1   struct_ops_private_stack/private_stack:OK
#434/2   struct_ops_private_stack/private_stack_fail:OK
#434/3   struct_ops_private_stack/private_stack_recur:OK
#434     struct_ops_private_stack:OK
Summary: 1/3 PASSED, 0 SKIPPED, 0 FAILED

v2->v3:
  Enable testcase using __powerpc64__ instead of __TARGET_ARCH_powerpc,
  to prevent it getting invoked on powerpc32

[v2]: https://lore.kernel.org/bpf/[email protected]

Signed-off-by: Abhishek Dubey <[email protected]>
---
 .../bpf/prog_tests/struct_ops_private_stack.c | 29 +++++++++----------
 .../bpf/progs/struct_ops_private_stack.c      |  6 ----
 .../bpf/progs/struct_ops_private_stack_fail.c |  6 ----
 .../progs/struct_ops_private_stack_recur.c    |  6 ----
 4 files changed, 13 insertions(+), 34 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c 
b/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
index 4006879ca3fe..afad3522b772 100644
--- a/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
+++ b/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
@@ -5,6 +5,7 @@
 #include "struct_ops_private_stack_fail.skel.h"
 #include "struct_ops_private_stack_recur.skel.h"
 
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
 static void test_private_stack(void)
 {
        struct struct_ops_private_stack *skel;
@@ -15,11 +16,6 @@ static void test_private_stack(void)
        if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack__open"))
                return;
 
-       if (skel->data->skip) {
-               test__skip();
-               goto cleanup;
-       }
-
        err = struct_ops_private_stack__load(skel);
        if (!ASSERT_OK(err, "struct_ops_private_stack__load"))
                goto cleanup;
@@ -48,11 +44,6 @@ static void test_private_stack_fail(void)
        if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack_fail__open"))
                return;
 
-       if (skel->data->skip) {
-               test__skip();
-               goto cleanup;
-       }
-
        err = struct_ops_private_stack_fail__load(skel);
        if (!ASSERT_ERR(err, "struct_ops_private_stack_fail__load"))
                goto cleanup;
@@ -72,11 +63,6 @@ static void test_private_stack_recur(void)
        if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack_recur__open"))
                return;
 
-       if (skel->data->skip) {
-               test__skip();
-               goto cleanup;
-       }
-
        err = struct_ops_private_stack_recur__load(skel);
        if (!ASSERT_OK(err, "struct_ops_private_stack_recur__load"))
                goto cleanup;
@@ -95,7 +81,7 @@ static void test_private_stack_recur(void)
        struct_ops_private_stack_recur__destroy(skel);
 }
 
-void test_struct_ops_private_stack(void)
+static void __test_struct_ops_private_stack(void)
 {
        if (test__start_subtest("private_stack"))
                test_private_stack();
@@ -104,3 +90,14 @@ void test_struct_ops_private_stack(void)
        if (test__start_subtest("private_stack_recur"))
                test_private_stack_recur();
 }
+#else
+static void __test_struct_ops_private_stack(void)
+{
+       test__skip();
+}
+#endif
+
+void test_struct_ops_private_stack(void)
+{
+       __test_struct_ops_private_stack();
+}
diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c 
b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
index dbe646013811..3cd0c1a55cbd 100644
--- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
+++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
@@ -7,12 +7,6 @@
 
 char _license[] SEC("license") = "GPL";
 
-#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
-bool skip __attribute((__section__(".data"))) = false;
-#else
-bool skip = true;
-#endif
-
 void bpf_testmod_ops3_call_test_2(void) __ksym;
 
 int val_i, val_j;
diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c 
b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
index 3d89ad7cbe2a..1442728f5604 100644
--- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
+++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
@@ -7,12 +7,6 @@
 
 char _license[] SEC("license") = "GPL";
 
-#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
-bool skip __attribute((__section__(".data"))) = false;
-#else
-bool skip = true;
-#endif
-
 void bpf_testmod_ops3_call_test_2(void) __ksym;
 
 int val_i, val_j;
diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c 
b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
index b1f6d7e5a8e5..faaa0f8d65a4 100644
--- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
+++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
@@ -7,12 +7,6 @@
 
 char _license[] SEC("license") = "GPL";
 
-#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
-bool skip __attribute((__section__(".data"))) = false;
-#else
-bool skip = true;
-#endif
-
 void bpf_testmod_ops3_call_test_1(void) __ksym;
 
 int val_i, val_j;
-- 
2.52.0


Reply via email to