1a0964f52SAndrii Nakryiko // SPDX-License-Identifier: GPL-2.0 2a0964f52SAndrii Nakryiko /* Copyright (c) 2019 Facebook */ 3a0964f52SAndrii Nakryiko 4a0964f52SAndrii Nakryiko #include <test_progs.h> 5a0964f52SAndrii Nakryiko #include "test_static_linked.skel.h" 6a0964f52SAndrii Nakryiko test_static_linked(void)7a0964f52SAndrii Nakryikovoid test_static_linked(void) 8a0964f52SAndrii Nakryiko { 9a0964f52SAndrii Nakryiko int err; 10a0964f52SAndrii Nakryiko struct test_static_linked* skel; 11a0964f52SAndrii Nakryiko 12a0964f52SAndrii Nakryiko skel = test_static_linked__open(); 13a0964f52SAndrii Nakryiko if (!ASSERT_OK_PTR(skel, "skel_open")) 14a0964f52SAndrii Nakryiko return; 15a0964f52SAndrii Nakryiko 16a0964f52SAndrii Nakryiko skel->rodata->rovar1 = 1; 17a0964f52SAndrii Nakryiko skel->rodata->rovar2 = 4; 18a0964f52SAndrii Nakryiko 19a0964f52SAndrii Nakryiko err = test_static_linked__load(skel); 20a0964f52SAndrii Nakryiko if (!ASSERT_OK(err, "skel_load")) 21a0964f52SAndrii Nakryiko goto cleanup; 22a0964f52SAndrii Nakryiko 23a0964f52SAndrii Nakryiko err = test_static_linked__attach(skel); 24a0964f52SAndrii Nakryiko if (!ASSERT_OK(err, "skel_attach")) 25a0964f52SAndrii Nakryiko goto cleanup; 26a0964f52SAndrii Nakryiko 27a0964f52SAndrii Nakryiko /* trigger */ 28a0964f52SAndrii Nakryiko usleep(1); 29a0964f52SAndrii Nakryiko 30*9e9b4515SAndrii Nakryiko ASSERT_EQ(skel->data->var1, 1 * 2 + 2 + 3, "var1"); 31*9e9b4515SAndrii Nakryiko ASSERT_EQ(skel->data->var2, 4 * 3 + 5 + 6, "var2"); 32a0964f52SAndrii Nakryiko 33a0964f52SAndrii Nakryiko cleanup: 34a0964f52SAndrii Nakryiko test_static_linked__destroy(skel); 35a0964f52SAndrii Nakryiko } 36