📄 test_broadcast.cc
字号:
/* * $Id: test_broadcast.cc,v 1.4.4.3 2003/05/23 21:23:44 gerkey Exp $ * * a test for the C++ LaserProxy */#include "playerclient.h"#include "test.h"#include <unistd.h>inttest_broadcast(PlayerClient* client, int index){ unsigned char access; CommsProxy bp(client,index,'c'); char msg[32]; strcpy(msg,"hello"); printf("device [broadcast] index [%d]\n", index); TEST("subscribing (read/write)"); if((bp.ChangeAccess(PLAYER_ALL_MODE,&access) < 0) || (access != PLAYER_ALL_MODE)) { FAIL(); printf("DRIVER: %s\n", bp.driver_name); return -1; } PASS(); printf("DRIVER: %s\n", bp.driver_name); for(int i=0;i<1;i++) { TEST("send message"); if(bp.Write(msg, strlen(msg)+1) >= 0) PASS(); else { FAIL(); return(-1); } } sleep(1); for(int t = 0; t < 3; t++) { TEST("receive message"); if(client->Read() < 0) { FAIL(); return(-1); } PASS(); if (bp.msg_len > 0) { bp.Print(); TEST("compare messages"); if(!strncmp(msg,(const char*) bp.msg[0],strlen(msg))) { PASS(); break; } else { FAIL(); return(-1); } } } TEST("got message"); if(bp.msg_num == 0) { FAIL(); return(-1); } PASS(); TEST("deleting messages"); for(int i=bp.msg_num-1; i>=0; i--) { if(bp.Delete(0)) { FAIL(); return(-1); } } PASS(); TEST("unsubscribing"); if((bp.ChangeAccess(PLAYER_CLOSE_MODE,&access) < 0) || (access != PLAYER_CLOSE_MODE)) { FAIL(); return -1; } PASS(); return(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -