void MqttBufferTests::testGettingFirstMessage() { // ESP_MqttBuffer myBuf; //initTestData(myBuf,3); char topic[] = "topic"; char payload[] = "payload-x"; char wholeMsg[] ="topic//payload-x"; //Insertar mensajes! en el buffer. ESP_MqttMsg* msg_1 = createMqttMsg(topic,payload,9); ESP_MqttMsg* msg_2 = createMqttMsg(topic,payload,9); ESP_MqttMsg* msg_3 = createMqttMsg(topic,payload,9); myBuf.addMsg(msg_1); myBuf.addMsg(msg_2); myBuf.addMsg(msg_3); int nLen; char* buffOutput; char* tempMqttBuf; //Loop: int i = 0; while (!myBuf.isQueueEmpty()) { // CC_Logger::getSingleton()->logDebug("TEST: getting Top message #%d",++i); tempMqttBuf = myBuf.getFirstMqttMessage(&nLen); CPPUNIT_ASSERT(nLen>0); if (nLen > 0) { buffOutput = (char*) malloc(nLen+1); memcpy(buffOutput,tempMqttBuf,nLen); //Message copied, myBuf.deleteFirstMessage(); buffOutput[nLen] = 0; //for easy printing // CC_Logger::getSingleton()->logDebug("TEST: message from queue: %s",buffOutput); // CC_Logger::getSingleton()->logDebug("TEST :original %d obtenido %d",strlen(wholeMsg),nLen); CPPUNIT_ASSERT(true == compareBuffers(buffOutput,nLen,wholeMsg, strlen(wholeMsg))); free(buffOutput); buffOutput = NULL; nLen = 0; } } CPPUNIT_ASSERT(true == myBuf.isQueueEmpty()); }
void CtrlrMIDIBufferEditor::menuItemSelected(int menuItemID, int topLevelMenuIndex) { if (topLevelMenuIndex == 0) { if (menuItemID == 10) { save(); } else if (menuItemID==1) { owner.getWindowManager().toggle(CtrlrPanelWindowManager::BufferEditor, false); } } else if (topLevelMenuIndex == 1) { if (menuItemID == 100) { compareBuffers(); } } }
int main(int argc, char **argv) { usb_dev_handle *handle = NULL; const uchar rawVid[2] = {USB_CFG_VENDOR_ID}, rawPid[2] = {USB_CFG_DEVICE_ID}; char vendor[] = {USB_CFG_VENDOR_NAME, 0}, product[] = {USB_CFG_DEVICE_NAME, 0}; char txBuffer[64], rxBuffer[64]; int cnt, vid, pid, i, j; usb_init(); /* compute VID/PID from usbconfig.h so that there is a central source of information */ vid = rawVid[1] * 256 + rawVid[0]; pid = rawPid[1] * 256 + rawPid[0]; /* The following function is in opendevice.c: */ if(usbOpenDevice(&handle, vid, vendor, pid, product, NULL, NULL, NULL) != 0){ fprintf(stderr, "Could not find USB device \"%s\" with vid=0x%x pid=0x%x\n", product, vid, pid); exit(1); } if(argc > 1 && strcasecmp(argv[1], "osccal") == 0){ if(argc > 2){ /* set osccal */ int osccal = atoi(argv[2]); printf("setting osccal to %d\n", osccal); cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_SET_OSCCAL, osccal, 0, txBuffer, 0, 5000); if(cnt < 0){ fprintf(stderr, "\nUSB error setting osccal: %s\n", usb_strerror()); } }else{ cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_OSCCAL, 0, 0, rxBuffer, 1, 5000); if(cnt < 0){ fprintf(stderr, "\nUSB error getting osccal: %s\n", usb_strerror()); }else{ printf("osccal = %d\n", (unsigned char)rxBuffer[0]); } } }else{ srandomdev(); for(i = 0; i <= 100000; i++){ fillBuffer(txBuffer, sizeof(txBuffer)); cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_DATA, 0, 0, txBuffer, sizeof(txBuffer), 5000); if(cnt < 0){ fprintf(stderr, "\nUSB tx error in iteration %d: %s\n", i, usb_strerror()); break; }else if(cnt != sizeof(txBuffer)){ fprintf(stderr, "\nerror in iteration %d: %d bytes sent instead of %d\n", i, cnt, (int)sizeof(txBuffer)); break; } for(j = 0; j < sizeof(rxBuffer); j++){ rxBuffer[j] = ~txBuffer[j]; } cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_DATA, 0, 0, rxBuffer, sizeof(rxBuffer), 5000); if(cnt < 0){ fprintf(stderr, "\nUSB rx error in iteration %d: %s\n", i, usb_strerror()); break; }else if(cnt != sizeof(txBuffer)){ fprintf(stderr, "\nerror in iteration %d: %d bytes received instead of %d\n", i, cnt, (int)sizeof(rxBuffer)); break; } if(compareBuffers(txBuffer, rxBuffer, sizeof(rxBuffer))){ fprintf(stderr, "\ncompare error in iteration %d.\n", i); break; } if(i != 0 && i % 100 == 0){ printf("."); fflush(stdout); if(i % 5000 == 0) printf(" %6d\n", i); } } fprintf(stderr, "\nTest completed.\n"); } usb_close(handle); return 0; }