Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /* Copyright (c) 2019 Facebook */
0003 
0004 #include <test_progs.h>
0005 #include "test_static_linked.skel.h"
0006 
0007 void test_static_linked(void)
0008 {
0009     int err;
0010     struct test_static_linked* skel;
0011 
0012     skel = test_static_linked__open();
0013     if (!ASSERT_OK_PTR(skel, "skel_open"))
0014         return;
0015 
0016     skel->rodata->rovar1 = 1;
0017     skel->rodata->rovar2 = 4;
0018 
0019     err = test_static_linked__load(skel);
0020     if (!ASSERT_OK(err, "skel_load"))
0021         goto cleanup;
0022 
0023     err = test_static_linked__attach(skel);
0024     if (!ASSERT_OK(err, "skel_attach"))
0025         goto cleanup;
0026 
0027     /* trigger */
0028     usleep(1);
0029 
0030     ASSERT_EQ(skel->data->var1, 1 * 2 + 2 + 3, "var1");
0031     ASSERT_EQ(skel->data->var2, 4 * 3 + 5 + 6, "var2");
0032 
0033 cleanup:
0034     test_static_linked__destroy(skel);
0035 }