#include "../sCommModel.h" #include #include #include #include #include "signal.h" #include #include #include #include #include #include //change made in 80211s branch //doing stuff int main(void){ // Test 1: get_all_nodes with one node in play pid_t pID = fork(); if(pID < 0) { printf("failed to fork!\n"); } else if(pID == 0) { system("./mesh_setup.sh 1 1"); execlp("./1node.sh","1node.sh",(char *)0); printf("BIG PROBLEM! exec failed\n"); } else { sleep(2); CommModel *model = CommModel::init(); struct in_addr addr,srcaddr; printf("starting test suite\n"); std::vector vec; while(vec.size() == 0) { sleep(1); printf("waiting\n"); vec = model->get_all_nodes(); } kill(pID, 9); sleep(1); system("modprobe -r mac80211_hwsim"); printf("I made it here!"); node *curr = vec[0]; inet_aton("192.168.0.1", &addr); srcaddr.s_addr = ntohl(vec[0]->ip_addr); printf("ipaddr is %s should be %s\n", inet_ntoa(srcaddr),inet_ntoa(addr)); uint32_t first = vec[0]->ip_addr; uint32_t second = addr.s_addr; assert( !strcmp( inet_ntoa(srcaddr) , inet_ntoa(addr) )); assert(curr->mac_addr.addr[0] == 0x42); assert(curr->mac_addr.addr[1] == 0x0); assert(curr->mac_addr.addr[2] == 0x0); assert(curr->mac_addr.addr[3] == 0x0); assert(curr->mac_addr.addr[4] == 0x1); assert(curr->mac_addr.addr[5] == 0x0); delete vec[0]; } printf("closing test suite\n"); return 0; }