Esempio n. 1
0
int main()
{
    log_t l;
    log_init(&l);

    int i;
    log_append(&l,"Iddd am a genius");
    log_append(&l,"2");
    log_append(&l, "ab  1");
 	log_append(&l, "a   2");
	log_append(&l, "abc 3");
 	log_append(&l, "ab  4");
 	log_append(&l, "a   5");

 	printf("search: %s\n",log_search(&l,"a"));
 	printf("pop: %s\n",log_pop(&l));
 	printf("search: %s\n",log_search(&l,"a"));
 	printf("search: %s\n",log_search(&l,"ab"));
 	printf("pop: %s\n",log_pop(&l));
 	printf("search: %s\n",log_search(&l,"ab"));
 	printf("search: %s\n",log_search(&l,"abc"));

 	

 	for(i=0;i<1024*1024*100;++i){
 		log_append(&l,"I am a genius");
 	}

 	printf("size: %ul \n",log_size(&l));
 	printf("search: %s\n",log_search(&l,"I am"));


 	for(i=0;i<1024*1024;++i){
 		log_pop(&l);
 	}

 	printf("size: %u \n",log_size(&l));
 	printf("search: %s\n",log_search(&l,"I am"));

    log_destroy(&l);


    return 0;
}
Esempio n. 2
0
END_TEST

START_TEST (test_cometd_listener_fire_with_wildcards)
{
  JsonNode* message = cometd_json_str2node("{}");

  cometd_subscription *s1, *s2;

  s1 = cometd_listener_add(listeners, "/foo/**", log_handler);
  s2 = cometd_listener_add(listeners, "/quux/*", log_handler);

  cometd_listener_fire(listeners, "/foo/bar/baz", NULL, message);
  ck_assert_int_eq(1, log_size());
  cometd_listener_fire(listeners, "/quux/wat/wut", NULL, message);
  ck_assert_int_eq(1, log_size());
  cometd_listener_fire(listeners, "/quux/wat", NULL, message);
  ck_assert_int_eq(2, log_size());

  json_node_free(message);
}
Esempio n. 3
0
int main()
{
        log_t l;
        log_init(&l);
        
        printf("\nTesting log_append():\n");
        log_append(&l, "ab  1");
        log_append(&l, "a   2");
        log_append(&l, "abc 3");
        log_append(&l, "ab  4");
        log_append(&l, "a   5");
        printf("0: '%s'\n",log_at(&l, 0));
        printf("1: '%s'\n",log_at(&l, 1));
        printf("2: '%s'\n",log_at(&l, 2));
        printf("3: '%s'\n",log_at(&l, 3));
        printf("4: '%s'\n",log_at(&l, 4));
        printf("log size: %d\n", log_size(&l));
        printf("\n");

        // Are you copying the contents of the string into your log or are you
        // just storing a pointer to the string?
        printf("Testing method of appending entries:\n");
        char * temp = malloc(11), * temp2 = malloc(10);

        // "cba 6"
        temp[0] = 'c'; temp[1] = 'b'; temp[2] = 'a'; temp[3] = ' ';
        temp[4] = '6'; temp[5]= '\0';
        // Copy of "cba 6"
        temp2[0] = temp[0]; temp2[1] = temp[1]; temp2[2] = temp[2];
        temp2[3] = temp[3]; temp2[4] = temp[4]; temp2[5] = temp[5];

        log_append(&l, temp);

        // "abc 6"
        temp[0] = 'a'; temp[1] = 'b'; temp[2] = 'c';

        if (strncmp(temp, temp2, 6) == 0)
            printf("FAIL:\tNew log entries are copied instead of pointed to.\n\tExpected: '%s'\n\tActual: '%s'\n\n",temp2,log_pop(&l));
        else
            printf("SUCC:\tExpected: '%s'\n\tActual: '%s'\n\n",temp,log_pop(&l));

        
        printf("Testing log_pop():\n");
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("Popped: '%s'. ", log_pop(&l));
        printf("Current size: %d\n", log_size(&l));
        printf("\n");
        
        printf("Re-populating log entries:\n");
        log_append(&l, "ab  1");
        log_append(&l, "a   2");
        log_append(&l, "abc 3");
        log_append(&l, "ab  4");
        log_append(&l, "a   5");
        printf("0: '%s'\n",log_at(&l, 0));
        printf("1: '%s'\n",log_at(&l, 1));
        printf("2: '%s'\n",log_at(&l, 2));
        printf("3: '%s'\n",log_at(&l, 3));
        printf("4: '%s'\n",log_at(&l, 4));
        printf("log size: %d\n", log_size(&l));
        printf("\n");
        
        printf("Testing log_search():\n");
        printf("searching 'ab': '%s'\n",log_search(&l, "ab"));
        printf("searching 'a': '%s'\n",log_search(&l, "a"));
        printf("searching 'abc': '%s'\n",log_search(&l, "abc"));
        printf("searching 'd': '%s'\n",log_search(&l, "d"));
        printf("\nDone.\n\n");
        
        log_destroy(&l);
        free(temp);
        free(temp2);
        return 0;
}