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();
		}
	}
}
Exemple #3
0
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;
}