54 #include <sys/types.h>
67 #include <amxc/amxc.h>
68 #include <amxp/amxp.h>
70 #include <amxd/amxd_dm.h>
71 #include <amxd/amxd_object.h>
72 #include <amxd/amxd_transaction.h>
73 #include <amxo/amxo.h>
75 #include <amxb/amxb.h>
76 #include <amxb/amxb_register.h>
85 printf(
"Handling events ");
86 while(amxp_signal_read() == 0) {
94 if(stat(
"/var/run/ubus.sock", &sb) == 0) {
95 return "ubus:/var/run/ubus.sock";
97 if(stat(
"/var/run/ubus/ubus.sock", &sb) == 0) {
98 return "ubus:/var/run/ubus/ubus.sock";
105 printf(
"Ubus socket = %s\n", ubus_sock);
107 assert_int_equal(amxd_dm_init(&
dm), 0);
108 assert_int_equal(amxo_parser_init(&
parser), 0);
110 assert_int_equal(amxb_be_load(
"../mod-amxb-test-ubus.so"), 0);
111 assert_int_equal(amxb_connect(&
bus_ctx, ubus_sock), 0);
113 amxo_parser_parse_file(&
parser,
"../test_data/test_nemo.odl", amxd_dm_get_root(&
dm));
120 amxo_parser_clean(&
parser);
125 amxb_be_remove_all();
131 assert_int_equal(amxb_register(
bus_ctx, &
dm), 0);
135 amxd_trans_t transaction;
137 assert_int_equal(amxd_trans_init(&transaction), 0);
138 assert_int_equal(amxd_trans_select_pathf(&transaction,
"NeMo.Intf."), 0);
139 assert_int_equal(amxd_trans_add_inst(&transaction, 99,
"Inst1"), 0);
140 assert_int_equal(amxd_trans_apply(&transaction, &
dm), 0);
144 assert_int_equal(system(
"ubus list NeMo.Intf.99"), 0);
146 amxd_trans_clean(&transaction);
150 amxd_object_t*
object = NULL;
152 assert_int_equal(amxd_object_new(&
object, amxd_object_singleton,
"test_object"), 0);
153 assert_ptr_not_equal(
object, NULL);
154 assert_int_equal(amxd_dm_add_root_object(&
dm,
object), 0);
158 assert_int_equal(system(
"ubus list test_object"), 0);
162 amxd_trans_t transaction;
164 assert_int_equal(amxd_trans_init(&transaction), 0);
165 assert_int_equal(amxd_trans_select_pathf(&transaction,
"NeMo.Intf."), 0);
166 assert_int_equal(amxd_trans_del_inst(&transaction, 99,
"Inst1"), 0);
167 assert_int_equal(amxd_trans_apply(&transaction, &
dm), 0);
171 assert_int_not_equal(system(
"ubus list NeMo.Intf.99"), 0);
173 amxd_trans_clean(&transaction);
int test_amxb_ubus_register_setup(UNUSED void **state)
void test_ubus_removed_objects_are_unregistered(UNUSED void **state)
static const char * test_amxb_ubus_get_socket(void)
static amxo_parser_t parser
void test_ubus_can_register_dm(UNUSED void **state)
static amxb_bus_ctx_t * bus_ctx
void test_ubus_new_root_objects_are_registered(UNUSED void **state)
int test_amxb_ubus_register_teardown(UNUSED void **state)
static void handle_events(void)
void test_ubus_new_objects_are_registered(UNUSED void **state)