Lines Matching refs:state

181   // Calculate input lengths and fill state.len with them.
199 StringTestState<char> state(SMALL);
200 for (size_t i = 1; i < state.n; i++) {
202 state.NewIteration();
204 memset(state.ptr2, '\2', state.MAX_LEN);
205 state.ptr2[state.MAX_LEN - 1] = '\0';
206 memcpy(state.ptr, state.ptr2, 2 * state.MAX_LEN);
208 memset(state.ptr1, random() & 255, state.len[i]);
209 state.ptr1[random() % state.len[i]] = '\0';
210 state.ptr1[state.len[i] - 1] = '\0';
212 strcpy(state.ptr + state.MAX_LEN - 1, state.ptr1);
214 EXPECT_TRUE(strcat(state.ptr2, state.ptr1) == state.ptr2);
215 EXPECT_TRUE(memcmp(state.ptr, state.ptr2, 2 * state.MAX_LEN) == 0);
383 StringTestState<char> state(SMALL);
384 for (size_t i = 1; i < state.n; i++) {
386 state.NewIteration();
389 memset(state.ptr1, ~seek_char, state.len[i]);
391 memset(state.ptr1, '\1', state.len[i]);
393 state.ptr1[state.len[i] - 1] = '\0';
395 int pos = random() % state.MAX_LEN;
397 if (pos >= state.len[i] - 1) {
399 expected = state.ptr1 + state.len[i] - 1;
404 state.ptr1[pos] = seek_char;
405 expected = state.ptr1 + pos;
408 ASSERT_TRUE(strchr(state.ptr1, seek_char) == expected);
414 StringTestState<char> state(SMALL);
415 for (size_t i = 1; i < state.n; i++) {
417 state.NewIteration();
419 memset(state.ptr1, 'v', state.MAX_LEN);
420 memset(state.ptr2, 'n', state.MAX_LEN);
421 state.ptr1[state.len[i] - 1] = '\0';
422 state.ptr2[state.len[i] - 1] = '\0';
424 int pos = 1 + (random() % (state.MAX_LEN - 1));
427 if (pos >= state.len[i] - 1) {
428 memcpy(state.ptr1, state.ptr2, state.len[i]);
430 actual = strcmp(state.ptr1, state.ptr2);
432 memcpy(state.ptr1, state.ptr2, pos);
433 if (state.ptr1[pos] > state.ptr2[pos]) {
435 } else if (state.ptr1[pos] == state.ptr2[pos]) {
436 state.ptr1[pos + 1] = '\0';
437 state.ptr2[pos + 1] = '\0';
442 actual = strcmp(state.ptr1, state.ptr2);
451 StringTestState<char> state(SMALL);
453 state.NewIteration();
455 size_t pos = random() % state.MAX_LEN;
457 memset(state.ptr1, '\2', pos);
458 state.ptr1[pos] = '\0';
459 state.ptr1[state.MAX_LEN - 1] = '\0';
461 memcpy(state.ptr, state.ptr1, state.MAX_LEN);
463 memset(state.ptr2, '\1', state.MAX_LEN);
464 state.ptr2[state.MAX_LEN - 1] = '\0';
466 memset(state.ptr + state.MAX_LEN, '\1', state.MAX_LEN);
467 memcpy(state.ptr + state.MAX_LEN, state.ptr1, pos + 1);
468 state.ptr[2 * state.MAX_LEN - 1] = '\0';
470 ASSERT_TRUE(stpcpy(state.ptr2, state.ptr1) == state.ptr2 + strlen(state.ptr1));
471 ASSERT_FALSE((memcmp(state.ptr1, state.ptr, state.MAX_LEN)) != 0 ||
472 (memcmp(state.ptr2, state.ptr + state.MAX_LEN, state.MAX_LEN) != 0));
477 StringTestState<char> state(SMALL);
479 state.NewIteration();
481 size_t pos = random() % state.MAX_LEN;
483 memset(state.ptr1, '\2', pos);
484 state.ptr1[pos] = '\0';
485 state.ptr1[state.MAX_LEN - 1] = '\0';
487 memcpy(state.ptr, state.ptr1, state.MAX_LEN);
489 memset(state.ptr2, '\1', state.MAX_LEN);
490 state.ptr2[state.MAX_LEN - 1] = '\0';
492 memset(state.ptr + state.MAX_LEN, '\1', state.MAX_LEN);
493 memcpy(state.ptr + state.MAX_LEN, state.ptr1, pos + 1);
494 state.ptr[2 * state.MAX_LEN - 1] = '\0';
496 ASSERT_TRUE(strcpy(state.ptr2, state.ptr1) == state.ptr2);
497 ASSERT_FALSE((memcmp(state.ptr1, state.ptr, state.MAX_LEN)) != 0 ||
498 (memcmp(state.ptr2, state.ptr + state.MAX_LEN, state.MAX_LEN) != 0));
504 StringTestState<char> state(SMALL);
505 for (size_t i = 0; i < state.n; i++) {
507 state.NewIteration();
509 memset(state.ptr2, '\2', state.MAX_LEN + state.len[i]);
510 state.ptr2[state.MAX_LEN - 1] = '\0';
511 memcpy(state.ptr, state.ptr2, state.MAX_LEN + state.len[i]);
513 int pos = random() % state.MAX_LEN;
514 memset(state.ptr1, '\3', pos);
515 state.ptr1[pos] = '\0';
516 if (pos < state.len[i]) {
517 memcpy(state.ptr + state.MAX_LEN - 1, state.ptr1, pos + 1);
519 memcpy(state.ptr + state.MAX_LEN - 1, state.ptr1, state.len[i]);
520 state.ptr[state.MAX_LEN + state.len[i] - 1] = '\0';
523 strlcat(state.ptr2, state.ptr1, state.MAX_LEN + state.len[i]);
525 ASSERT_TRUE(memcmp(state.ptr, state.ptr2, state.MAX_LEN + state.len[i]) == 0);
535 StringTestState<char> state(SMALL);
537 state.NewIteration();
543 memset(state.ptr1, rand, state.MAX_LEN);
545 size_t pos = random() % state.MAX_LEN;
546 if (pos < state.MAX_LEN) {
547 state.ptr1[pos] = '\0';
549 memcpy(state.ptr, state.ptr1, state.MAX_LEN);
551 memset(state.ptr2, random() & 255, state.MAX_LEN);
552 memcpy(state.ptr + state.MAX_LEN, state.ptr2, state.MAX_LEN);
554 if (pos > state.MAX_LEN - 1) {
555 memcpy(state.ptr + state.MAX_LEN, state.ptr1, state.MAX_LEN);
556 state.ptr[2 * state.MAX_LEN - 1] = '\0';
558 memcpy(state.ptr + state.MAX_LEN, state.ptr1, pos + 1);
561 ASSERT_EQ(strlcpy(state.ptr2, state.ptr1, state.MAX_LEN), strlen(state.ptr1));
562 ASSERT_FALSE((memcmp(state.ptr1, state.ptr, state.MAX_LEN) != 0) ||
563 (memcmp(state.ptr2, state.ptr + state.MAX_LEN, state.MAX_LEN) != 0));
571 StringTestState<char> state(SMALL);
572 for (size_t i = 1; i < state.n; i++) {
574 state.NewIteration();
576 memset(state.ptr2, '\2', state.MAX_LEN);
577 state.ptr2[state.MAX_LEN - 1] = '\0';
578 memcpy(state.ptr, state.ptr2, 2 * state.MAX_LEN);
580 memset(state.ptr1, random() & 255, state.len[i]);
581 state.ptr1[random() % state.len[i]] = '\0';
582 state.ptr1[state.len[i] - 1] = '\0';
584 size_t pos = strlen(state.ptr1);
586 size_t actual = random() % state.len[i];
587 strncpy(state.ptr + state.MAX_LEN - 1, state.ptr1, std::min(actual, pos));
588 state.ptr[state.MAX_LEN + std::min(actual, pos) - 1] = '\0';
590 ASSERT_TRUE(strncat(state.ptr2, state.ptr1, actual) == state.ptr2);
591 ASSERT_EQ(memcmp(state.ptr, state.ptr2, 2 * state.MAX_LEN), 0);
597 StringTestState<char> state(SMALL);
598 for (size_t i = 1; i < state.n; i++) {
600 state.NewIteration();
602 memset(state.ptr1, 'v', state.MAX_LEN);
603 memset(state.ptr2, 'n', state.MAX_LEN);
604 state.ptr1[state.len[i] - 1] = '\0';
605 state.ptr2[state.len[i] - 1] = '\0';
607 int pos = 1 + (random() % (state.MAX_LEN - 1));
610 if (pos >= state.len[i] - 1) {
611 memcpy(state.ptr1, state.ptr2, state.len[i]);
613 actual = strncmp(state.ptr1, state.ptr2, state.len[i]);
615 memcpy(state.ptr1, state.ptr2, pos);
616 if (state.ptr1[pos] > state.ptr2[pos]) {
618 } else if (state.ptr1[pos] == state.ptr2[pos]) {
619 state.ptr1[pos + 1] = '\0';
620 state.ptr2[pos + 1] = '\0';
625 actual = strncmp(state.ptr1, state.ptr2, state.len[i]);
634 StringTestState<char> state(SMALL);
636 state.NewIteration();
640 memset(state.ptr1, (random() % 254) + 2, state.MAX_LEN);
642 size_t ptr1_len = random() % state.MAX_LEN;
643 state.ptr1[ptr1_len] = '\0';
645 memcpy(state.ptr, state.ptr1, state.MAX_LEN);
647 memset(state.ptr2, '\1', state.MAX_LEN);
650 size_t copy_len = random() % state.MAX_LEN;
653 memset(state.ptr + state.MAX_LEN, '\1', state.MAX_LEN);
654 memcpy(state.ptr + state.MAX_LEN, state.ptr1, copy_len);
657 memset(state.ptr + state.MAX_LEN + ptr1_len, '\0', copy_len - ptr1_len);
663 ASSERT_EQ(state.ptr2 + expected_end, stpncpy(state.ptr2, state.ptr1, copy_len));
666 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr, state.MAX_LEN));
668 ASSERT_EQ(0, memcmp(state.ptr2, state.ptr + state.MAX_LEN, state.MAX_LEN));
673 StringTestState<char> state(SMALL);
675 state.NewIteration();
679 memset(state.ptr1, (random() % 254) + 2, state.MAX_LEN);
681 size_t ptr1_len = random() % state.MAX_LEN;
682 state.ptr1[ptr1_len] = '\0';
684 memcpy(state.ptr, state.ptr1, state.MAX_LEN);
686 memset(state.ptr2, '\1', state.MAX_LEN);
689 size_t copy_len = random() % state.MAX_LEN;
692 memset(state.ptr + state.MAX_LEN, '\1', state.MAX_LEN);
693 memcpy(state.ptr + state.MAX_LEN, state.ptr1, copy_len);
696 memset(state.ptr + state.MAX_LEN + ptr1_len, '\0', copy_len - ptr1_len);
702 ASSERT_EQ(state.ptr2 + expected_end, stpncpy(state.ptr2, state.ptr1, copy_len));
705 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr, state.MAX_LEN));
707 ASSERT_EQ(0, memcmp(state.ptr2, state.ptr + state.MAX_LEN, state.MAX_LEN));
713 StringTestState<char> state(SMALL);
714 for (size_t i = 1; i < state.n; i++) {
716 state.NewIteration();
719 memset(state.ptr1, ~seek_char, state.len[i]);
721 memset(state.ptr1, '\1', state.len[i]);
723 state.ptr1[state.len[i] - 1] = '\0';
725 int pos = random() % state.MAX_LEN;
727 if (pos >= state.len[i] - 1) {
729 expected = state.ptr1 + state.len[i] - 1;
734 state.ptr1[pos] = seek_char;
735 expected = state.ptr1 + pos;
738 ASSERT_TRUE(strrchr(state.ptr1, seek_char) == expected);
745 StringTestState<char> state(SMALL);
746 for (size_t i = 0; i < state.n; i++) {
748 state.NewIteration();
750 memset(state.ptr1, ~seek_char, state.len[i]);
752 int pos = random() % state.MAX_LEN;
754 if (pos >= state.len[i]) {
757 state.ptr1[pos] = seek_char;
758 expected = state.ptr1 + pos;
761 ASSERT_TRUE(memchr(state.ptr1, seek_char, state.len[i]) == expected);
776 StringTestState<char> state(SMALL);
777 for (size_t i = 0; i < state.n; i++) {
779 state.NewIteration();
781 memset(state.ptr1, ~seek_char, state.len[i]);
783 int pos = random() % state.MAX_LEN;
785 if (pos >= state.len[i]) {
788 state.ptr1[pos] = seek_char;
789 expected = state.ptr1 + pos;
792 ASSERT_TRUE(memrchr(state.ptr1, seek_char, state.len[i]) == expected);
798 StringTestState<char> state(SMALL);
799 for (size_t i = 0; i < state.n; i++) {
801 state.NewIteration();
805 memset(state.ptr1, c1, state.MAX_LEN);
806 memset(state.ptr2, c1, state.MAX_LEN);
808 int pos = (state.len[i] == 0) ? 0 : (random() % state.len[i]);
809 state.ptr2[pos] = c2;
812 int actual = memcmp(state.ptr1, state.ptr2, state.MAX_LEN);
820 StringTestState<wchar_t> state(SMALL);
822 for (size_t i = 0; i < state.n; i++) {
824 state.NewIteration();
829 wmemset(state.ptr1, c1, state.MAX_LEN);
830 wmemset(state.ptr2, c1, state.MAX_LEN);
832 int pos = (state.len[i] == 0) ? 0 : (random() % state.len[i]);
833 state.ptr2[pos] = c2;
836 int actual = wmemcmp(state.ptr1, state.ptr2, (size_t) state.MAX_LEN);
844 StringTestState<char> state(LARGE);
846 for (size_t i = 0; i < state.n - 1; i++) {
848 state.NewIteration();
850 size_t pos = random() % (state.MAX_LEN - state.len[i]);
852 memset(state.ptr1, rand, state.len[i]);
853 memset(state.ptr1 + state.len[i], ~rand, state.MAX_LEN - state.len[i]);
855 memset(state.ptr2, rand, state.len[i]);
856 memset(state.ptr2 + state.len[i], ~rand, state.MAX_LEN - state.len[i]);
857 memset(state.ptr2 + pos, '\0', state.len[i]);
859 ASSERT_FALSE(memcpy(state.ptr2 + pos, state.ptr1 + pos, state.len[i]) != state.ptr2 + pos);
860 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr2, state.MAX_LEN));
866 StringTestState<char> state(LARGE);
868 for (size_t i = 0; i < state.n - 1; i++) {
870 state.NewIteration();
872 memset(state.ptr1, ~ch, state.MAX_LEN);
873 memcpy(state.ptr2, state.ptr1, state.MAX_LEN);
875 size_t pos = random () % (state.MAX_LEN - state.len[i]);
876 for (size_t k = pos; k < pos + state.len[i]; k++) {
877 state.ptr1[k] = ch;
880 ASSERT_TRUE(memset(state.ptr2 + pos, ch, state.len[i]) == state.ptr2 + pos);
882 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr2, state.MAX_LEN));
888 StringTestState<char> state(LARGE);
889 for (size_t i = 0; i < state.n - 1; i++) {
891 state.NewIteration();
893 memset(state.ptr1, random() & 255, 2 * state.MAX_LEN);
895 size_t pos = random() % (state.MAX_LEN - state.len[i]);
897 memset(state.ptr1, random() & 255, state.len[i]);
898 memcpy(state.ptr2, state.ptr1, 2 * state.MAX_LEN);
899 memcpy(state.ptr, state.ptr1, state.len[i]);
900 memcpy(state.ptr1 + pos, state.ptr, state.len[i]);
902 ASSERT_TRUE(memmove(state.ptr2 + pos, state.ptr2, state.len[i]) == state.ptr2 + pos);
903 ASSERT_EQ(0, memcmp(state.ptr2, state.ptr1, 2 * state.MAX_LEN));
988 StringTestState<char> state(LARGE);
989 for (size_t i = 0; i < state.n; i++) {
991 state.NewIteration();
993 memset(state.ptr1, random() & 255, state.MAX_LEN);
994 memset(state.ptr1 + state.MAX_LEN, random() & 255, state.MAX_LEN);
995 memcpy(state.ptr2, state.ptr1, 2 * state.MAX_LEN);
997 size_t start = random() % (2 * state.MAX_LEN - state.len[i]);
998 memcpy(state.ptr2 + start, state.ptr1, state.len[i]);
1000 bcopy(state.ptr1, state.ptr1 + start, state.len[i]);
1001 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr2, 2 * state.MAX_LEN));
1007 StringTestState<char> state(LARGE);
1009 state.NewIteration();
1011 memset(state.ptr1, random() & 255, state.MAX_LEN);
1013 size_t start = random() % state.MAX_LEN;
1014 size_t end = start + random() % (state.MAX_LEN - start);
1016 memcpy(state.ptr2, state.ptr1, start);
1017 memset(state.ptr2 + start, '\0', end - start);
1018 memcpy(state.ptr2 + end, state.ptr1 + end, state.MAX_LEN - end);
1020 bzero(state.ptr1 + start, end - start);
1022 ASSERT_EQ(0, memcmp(state.ptr1, state.ptr2, state.MAX_LEN));