Lines Matching refs:fp
66 FILE* fp; in SetFileTo() local
67 ASSERT_NE(nullptr, fp = fopen(path, "w")); in SetFileTo()
68 ASSERT_NE(EOF, fputs(content, fp)); in SetFileTo()
69 ASSERT_EQ(0, fclose(fp)); in SetFileTo()
73 FILE* fp; in AssertFileIs() local
74 ASSERT_NE(nullptr, fp = fopen(path, "r")); in AssertFileIs()
77 ASSERT_NE(EOF, getline(&line, &length, fp)); in AssertFileIs()
78 ASSERT_EQ(0, fclose(fp)); in AssertFileIs()
83 static void AssertFileIs(FILE* fp, const char* expected, bool is_fmemopen = false) { in AssertFileIs() argument
84 rewind(fp); in AssertFileIs()
88 ASSERT_EQ(line, fgets(line, sizeof(line), fp)); in AssertFileIs()
94 ASSERT_EQ(line, fgets(line, sizeof(line), fp)); in AssertFileIs()
99 ASSERT_EQ(nullptr, fgets(line, sizeof(line), fp)) << "junk at end of file: " << line; in AssertFileIs()
133 FILE* fp = fopen("/dev/null", "w"); in TEST() local
134 ASSERT_TRUE(fp != nullptr); in TEST()
135 flockfile(fp); in TEST()
138 ASSERT_EQ(0, feof(fp)); in TEST()
139 funlockfile(fp); in TEST()
140 fclose(fp); in TEST()
144 FILE* fp = tmpfile(); in TEST() local
145 ASSERT_TRUE(fp != nullptr); in TEST()
147 int fd = fileno(fp); in TEST()
155 rc = fprintf(fp, "hello\n"); in TEST()
158 AssertFileIs(fp, "hello\n"); in TEST()
159 fclose(fp); in TEST()
163 FILE* fp = tmpfile64(); in TEST() local
164 ASSERT_TRUE(fp != nullptr); in TEST()
165 fclose(fp); in TEST()
172 FILE* fp = tmpfile(); in TEST() local
173 ASSERT_TRUE(fp != nullptr); in TEST()
175 std::string fd_path = android::base::StringPrintf("/proc/self/fd/%d", fileno(fp)); in TEST()
199 FILE* fp = tmpfile(); in TEST() local
200 ASSERT_TRUE(fp != nullptr); in TEST()
203 int rc = fprintf(fp, "%s", line_written); in TEST()
206 rewind(fp); in TEST()
213 ASSERT_FALSE(feof(fp)); in TEST()
214 …ASSERT_EQ(getdelim(&word_read, &allocated_length, ' ', fp), static_cast<int>(strlen(expected[i]))); in TEST()
219 ASSERT_TRUE(feof(fp)); in TEST()
220 clearerr(fp); in TEST()
225 ASSERT_EQ(getdelim(&word_read, &allocated_length, ' ', fp), -1); in TEST()
227 ASSERT_TRUE(feof(fp)); in TEST()
230 fclose(fp); in TEST()
236 FILE* fp = tmpfile(); in TEST() local
237 ASSERT_TRUE(fp != nullptr); in TEST()
244 ASSERT_EQ(getdelim(nullptr, &buffer_length, ' ', fp), -1); in TEST()
249 ASSERT_EQ(getdelim(&buffer, nullptr, ' ', fp), -1); in TEST()
251 fclose(fp); in TEST()
256 FILE* fp = fopen("/proc", "r"); in TEST() local
257 ASSERT_TRUE(fp != nullptr); in TEST()
260 ASSERT_EQ(-1, getdelim(&word_read, &allocated_length, ' ', fp)); in TEST()
261 fclose(fp); in TEST()
265 FILE* fp = tmpfile(); in TEST() local
266 ASSERT_TRUE(fp != nullptr); in TEST()
272 int rc = fprintf(fp, "%s", line_written); in TEST()
276 rewind(fp); in TEST()
283 while ((read_char_count = getline(&line_read, &allocated_length, fp)) != -1) { in TEST()
292 ASSERT_TRUE(feof(fp)); in TEST()
293 clearerr(fp); in TEST()
298 ASSERT_EQ(getline(&line_read, &allocated_length, fp), -1); in TEST()
300 ASSERT_TRUE(feof(fp)); in TEST()
303 fclose(fp); in TEST()
309 FILE* fp = tmpfile(); in TEST() local
310 ASSERT_TRUE(fp != nullptr); in TEST()
317 ASSERT_EQ(getline(nullptr, &buffer_length, fp), -1); in TEST()
322 ASSERT_EQ(getline(&buffer, nullptr, fp), -1); in TEST()
324 fclose(fp); in TEST()
970 FILE* fp; in TEST() local
975 ASSERT_NE(nullptr, fp = tmpfile()); in TEST()
976 setbuf(fp, nullptr); in TEST()
977 ASSERT_EQ(4, fprintf(fp, "epic")); in TEST()
978 ASSERT_NE(-1, dup2(fd_rdonly, fileno(fp))); in TEST()
979 ASSERT_EQ(-1, fprintf(fp, "fail")); in TEST()
980 ASSERT_EQ(0, fclose(fp)); in TEST()
986 ASSERT_NE(nullptr, fp = tmpfile()); in TEST()
987 ASSERT_EQ(4, fprintf(fp, "epic")); in TEST()
988 ASSERT_NE(-1, dup2(fd_rdonly, fileno(fp))); in TEST()
989 ASSERT_EQ(4, fprintf(fp, "fail")); in TEST()
990 ASSERT_EQ(-1, fclose(fp)); in TEST()
994 FILE* fp = popen("cat /proc/version", "r"); in TEST() local
995 ASSERT_TRUE(fp != nullptr); in TEST()
998 char* s = fgets(buf, sizeof(buf), fp); in TEST()
1002 ASSERT_EQ(0, pclose(fp)); in TEST()
1006 FILE* fp = popen("cat", "r+"); in TEST() local
1007 ASSERT_TRUE(fp != nullptr); in TEST()
1009 fputs("hello\nworld\n", fp); in TEST()
1010 fflush(fp); in TEST()
1013 ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp)); in TEST()
1015 ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp)); in TEST()
1018 ASSERT_EQ(0, pclose(fp)); in TEST()
1022 FILE* fp = popen("uniq -c", "r+"); in TEST() local
1023 ASSERT_TRUE(fp != nullptr); in TEST()
1025 fputs("a\na\na\na\nb\n", fp); in TEST()
1026 fflush(fp); in TEST()
1027 ASSERT_EQ(0, shutdown(fileno(fp), SHUT_WR)); in TEST()
1030 ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp)); in TEST()
1032 ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp)); in TEST()
1035 ASSERT_EQ(0, pclose(fp)); in TEST()
1039 FILE* fp = popen("true", "r"); in TEST() local
1040 ASSERT_TRUE(fp != nullptr); in TEST()
1041 int status = pclose(fp); in TEST()
1047 FILE* fp = popen("false", "r"); in TEST() local
1048 ASSERT_TRUE(fp != nullptr); in TEST()
1049 int status = pclose(fp); in TEST()
1057 FILE* fp = popen(cmd.c_str(), "r"); in TEST() local
1058 ASSERT_TRUE(fp != nullptr); in TEST()
1059 int status = pclose(fp); in TEST()
1065 FILE* fp = fopen("/proc/version", "r"); in TEST() local
1066 ASSERT_TRUE(fp != nullptr); in TEST()
1067 ASSERT_EQ('L', getc(fp)); in TEST()
1068 ASSERT_EQ('i', getc(fp)); in TEST()
1069 ASSERT_EQ('n', getc(fp)); in TEST()
1070 ASSERT_EQ('u', getc(fp)); in TEST()
1071 ASSERT_EQ('x', getc(fp)); in TEST()
1072 fclose(fp); in TEST()
1076 FILE* fp = fopen("/proc/version", "r"); in TEST() local
1077 ASSERT_TRUE(fp != nullptr); in TEST()
1078 ASSERT_EQ(EOF, putc('x', fp)); in TEST()
1079 fclose(fp); in TEST()
1399 FILE* fp = fopen("/proc/version", "r"); in TEST() local
1407 EXPECT_EQ(EOF, putc('x', fp)); in TEST()
1411 EXPECT_EQ(EOF, fprintf(fp, "hello")); in TEST()
1415 EXPECT_EQ(EOF, fwprintf(fp, L"hello")); in TEST()
1421 EXPECT_EQ(0U, fwrite("hello", 1, 2, fp)); in TEST()
1425 EXPECT_EQ(EOF, fputs("hello", fp)); in TEST()
1429 EXPECT_EQ(WEOF, fputwc(L'x', fp)); in TEST()
1441 FILE* fp = tmpfile(); in TEST() local
1442 ASSERT_TRUE(fp != nullptr); in TEST()
1450 ASSERT_EQ(mb_one_bytes, static_cast<wchar_t>(fputwc(mb_one_bytes, fp))); in TEST()
1451 ASSERT_EQ(mb_two_bytes, static_cast<wchar_t>(fputwc(mb_two_bytes, fp))); in TEST()
1452 ASSERT_EQ(mb_three_bytes, static_cast<wchar_t>(fputwc(mb_three_bytes, fp))); in TEST()
1453 ASSERT_EQ(mb_four_bytes, static_cast<wchar_t>(fputwc(mb_four_bytes, fp))); in TEST()
1455 rewind(fp); in TEST()
1463 EXPECT_EQ(0, fgetpos(fp, &pos1)); in TEST()
1464 ASSERT_EQ(mb_one_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1465 EXPECT_EQ(0, fgetpos(fp, &pos2)); in TEST()
1466 ASSERT_EQ(mb_two_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1467 EXPECT_EQ(0, fgetpos(fp, &pos3)); in TEST()
1468 ASSERT_EQ(mb_three_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1469 EXPECT_EQ(0, fgetpos(fp, &pos4)); in TEST()
1470 ASSERT_EQ(mb_four_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1471 EXPECT_EQ(0, fgetpos(fp, &pos5)); in TEST()
1486 ASSERT_EQ(0, fsetpos(fp, &pos2)); in TEST()
1487 ASSERT_EQ(mb_two_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1488 ASSERT_EQ(0, fsetpos(fp, &pos1)); in TEST()
1489 ASSERT_EQ(mb_one_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1490 ASSERT_EQ(0, fsetpos(fp, &pos4)); in TEST()
1491 ASSERT_EQ(mb_four_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1492 ASSERT_EQ(0, fsetpos(fp, &pos3)); in TEST()
1493 ASSERT_EQ(mb_three_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1494 ASSERT_EQ(0, fsetpos(fp, &pos5)); in TEST()
1495 ASSERT_EQ(WEOF, fgetwc(fp)); in TEST()
1497 fclose(fp); in TEST()
1511 FILE* fp = fdopen(tf.fd, "w+"); in TEST() local
1512 ASSERT_TRUE(fp != nullptr); in TEST()
1519 ASSERT_EQ(mb_two_bytes, static_cast<wchar_t>(fputwc(mb_two_bytes, fp))); in TEST()
1520 ASSERT_EQ(mb_three_bytes, static_cast<wchar_t>(fputwc(mb_three_bytes, fp))); in TEST()
1521 ASSERT_EQ(mb_four_bytes, static_cast<wchar_t>(fputwc(mb_four_bytes, fp))); in TEST()
1523 fflush(fp); in TEST()
1524 fclose(fp); in TEST()
1526 fp = fopen(tf.path, "r"); in TEST()
1527 ASSERT_TRUE(fp != nullptr); in TEST()
1531 ASSERT_EQ(0, fgetpos(fp, &mb_two_bytes_pos)); in TEST()
1535 ASSERT_EQ(0, fseek(fp, offset_inside_mb, SEEK_SET)); in TEST()
1539 ASSERT_EQ(0, fgetpos(fp, &pos_inside_mb)); in TEST()
1545 ASSERT_EQ(WEOF, fgetwc(fp)); in TEST()
1549 ASSERT_EQ(0, fsetpos(fp, &mb_two_bytes_pos)); in TEST()
1550 ASSERT_EQ(mb_two_bytes, static_cast<wchar_t>(fgetwc(fp))); in TEST()
1554 ASSERT_EQ(0, fsetpos(fp, &pos_inside_mb)); in TEST()
1555 ASSERT_EQ(WEOF, fgetwc(fp)); in TEST()
1558 ASSERT_EQ(0, fclose(fp)); in TEST()
1564 FILE* fp = fmemopen(buf, sizeof(buf), "r+"); in TEST() local
1565 ASSERT_EQ('<', fputc('<', fp)); in TEST()
1566 ASSERT_NE(EOF, fputs("abc>\n", fp)); in TEST()
1567 fflush(fp); in TEST()
1573 AssertFileIs(fp, "<abc>\n", true); in TEST()
1574 ASSERT_EQ(0, fclose(fp)); in TEST()
1578 FILE* fp = fmemopen(nullptr, 128, "r+"); in TEST() local
1579 ASSERT_NE(EOF, fputs("xyz\n", fp)); in TEST()
1581 AssertFileIs(fp, "xyz\n", true); in TEST()
1582 ASSERT_EQ(0, fclose(fp)); in TEST()
1586 FILE* fp; in TEST() local
1593 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "w")); in TEST()
1595 ASSERT_EQ(0, fflush(fp)); in TEST()
1598 ASSERT_NE(EOF, fputs("hello", fp)); in TEST()
1599 ASSERT_EQ(0, fflush(fp)); in TEST()
1601 ASSERT_NE(EOF, fputs("wo", fp)); in TEST()
1602 ASSERT_EQ(0, fflush(fp)); in TEST()
1604 ASSERT_EQ(0, fclose(fp)); in TEST()
1610 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "r+")); in TEST()
1612 ASSERT_EQ(0, fflush(fp)); in TEST()
1614 ASSERT_NE(EOF, fputs("hello", fp)); in TEST()
1615 ASSERT_EQ(0, fclose(fp)); in TEST()
1619 FILE* fp; in TEST() local
1629 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "r")); in TEST()
1630 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1631 EXPECT_EQ(16, ftell(fp)); in TEST()
1632 EXPECT_EQ(16, ftello(fp)); in TEST()
1633 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1634 EXPECT_EQ(16, ftell(fp)); in TEST()
1635 EXPECT_EQ(16, ftello(fp)); in TEST()
1636 ASSERT_EQ(0, fclose(fp)); in TEST()
1637 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "r+")); in TEST()
1638 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1639 EXPECT_EQ(16, ftell(fp)); in TEST()
1640 EXPECT_EQ(16, ftello(fp)); in TEST()
1641 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1642 EXPECT_EQ(16, ftell(fp)); in TEST()
1643 EXPECT_EQ(16, ftello(fp)); in TEST()
1644 ASSERT_EQ(0, fclose(fp)); in TEST()
1647 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "w")); in TEST()
1648 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1649 EXPECT_EQ(0, ftell(fp)); in TEST()
1650 EXPECT_EQ(0, ftello(fp)); in TEST()
1651 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1652 EXPECT_EQ(0, ftell(fp)); in TEST()
1653 EXPECT_EQ(0, ftello(fp)); in TEST()
1654 ASSERT_EQ(0, fclose(fp)); in TEST()
1655 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "w+")); in TEST()
1656 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1657 EXPECT_EQ(0, ftell(fp)); in TEST()
1658 EXPECT_EQ(0, ftello(fp)); in TEST()
1659 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1660 EXPECT_EQ(0, ftell(fp)); in TEST()
1661 EXPECT_EQ(0, ftello(fp)); in TEST()
1662 ASSERT_EQ(0, fclose(fp)); in TEST()
1666 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "a")); in TEST()
1667 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1668 EXPECT_EQ(0, ftell(fp)); in TEST()
1669 EXPECT_EQ(0, ftello(fp)); in TEST()
1670 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1671 EXPECT_EQ(0, ftell(fp)); in TEST()
1672 EXPECT_EQ(0, ftello(fp)); in TEST()
1673 ASSERT_EQ(0, fclose(fp)); in TEST()
1674 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "a+")); in TEST()
1675 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1676 EXPECT_EQ(0, ftell(fp)); in TEST()
1677 EXPECT_EQ(0, ftello(fp)); in TEST()
1678 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1679 EXPECT_EQ(0, ftell(fp)); in TEST()
1680 EXPECT_EQ(0, ftello(fp)); in TEST()
1681 ASSERT_EQ(0, fclose(fp)); in TEST()
1686 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "a")); in TEST()
1687 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1688 EXPECT_EQ(3, ftell(fp)); in TEST()
1689 EXPECT_EQ(3, ftello(fp)); in TEST()
1690 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1691 EXPECT_EQ(3, ftell(fp)); in TEST()
1692 EXPECT_EQ(3, ftello(fp)); in TEST()
1693 ASSERT_EQ(0, fclose(fp)); in TEST()
1696 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "a+")); in TEST()
1697 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1698 EXPECT_EQ(3, ftell(fp)); in TEST()
1699 EXPECT_EQ(3, ftello(fp)); in TEST()
1700 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1701 EXPECT_EQ(3, ftell(fp)); in TEST()
1702 EXPECT_EQ(3, ftello(fp)); in TEST()
1703 ASSERT_EQ(0, fclose(fp)); in TEST()
1708 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "a")); in TEST()
1709 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1710 EXPECT_EQ(16, ftell(fp)); in TEST()
1711 EXPECT_EQ(16, ftello(fp)); in TEST()
1712 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1713 EXPECT_EQ(16, ftell(fp)); in TEST()
1714 EXPECT_EQ(16, ftello(fp)); in TEST()
1715 ASSERT_EQ(0, fclose(fp)); in TEST()
1717 ASSERT_NE(nullptr, fp = fmemopen(buf, 16, "a+")); in TEST()
1718 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1719 EXPECT_EQ(16, ftell(fp)); in TEST()
1720 EXPECT_EQ(16, ftello(fp)); in TEST()
1721 ASSERT_EQ(0, fseeko(fp, 0, SEEK_END)); in TEST()
1722 EXPECT_EQ(16, ftell(fp)); in TEST()
1723 EXPECT_EQ(16, ftello(fp)); in TEST()
1724 ASSERT_EQ(0, fclose(fp)); in TEST()
1729 FILE* fp; in TEST() local
1733 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "w+")); in TEST()
1734 ASSERT_NE(EOF, fputs("string", fp)); in TEST()
1735 EXPECT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1736 EXPECT_EQ(static_cast<long>(strlen("string")), ftell(fp)); in TEST()
1737 EXPECT_EQ(static_cast<off_t>(strlen("string")), ftello(fp)); in TEST()
1738 EXPECT_EQ(0, fclose(fp)); in TEST()
1742 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "w+")); in TEST()
1743 ASSERT_NE(EOF, fputs("54321", fp)); in TEST()
1744 EXPECT_EQ(0, fseek(fp, -2, SEEK_END)); in TEST()
1745 EXPECT_EQ('2', fgetc(fp)); in TEST()
1746 EXPECT_EQ(0, fclose(fp)); in TEST()
1752 FILE* fp = fmemopen(buf, sizeof(buf), "w"); in TEST() local
1753 ASSERT_TRUE(fp != nullptr); in TEST()
1759 EXPECT_EQ(-1, fseek(fp, -2, SEEK_SET)); in TEST()
1760 EXPECT_EQ(-1, fseeko(fp, -2, SEEK_SET)); in TEST()
1761 EXPECT_EQ(-1, fseek(fp, sizeof(buf) + 1, SEEK_SET)); in TEST()
1762 EXPECT_EQ(-1, fseeko(fp, sizeof(buf) + 1, SEEK_SET)); in TEST()
1770 FILE* fp = fmemopen(buf, sizeof(buf), "r"); in TEST() local
1771 ASSERT_TRUE(fp != nullptr); in TEST()
1773 ASSERT_EQ(8U, fread(buf2, 1, sizeof(buf2), fp)); in TEST()
1776 ASSERT_TRUE(feof(fp)); in TEST()
1777 ASSERT_EQ(EOF, fgetc(fp)); in TEST()
1778 ASSERT_EQ(0, fclose(fp)); in TEST()
1784 FILE* fp = fmemopen(buf, sizeof(buf), "r"); in TEST() local
1785 ASSERT_TRUE(fp != nullptr); in TEST()
1786 ASSERT_EQ('h', fgetc(fp)); in TEST()
1787 ASSERT_EQ(0, fgetc(fp)); in TEST()
1788 ASSERT_EQ('e', fgetc(fp)); in TEST()
1789 ASSERT_EQ(0, fgetc(fp)); in TEST()
1790 ASSERT_EQ('l', fgetc(fp)); in TEST()
1791 ASSERT_EQ(0, fgetc(fp)); in TEST()
1796 ASSERT_EQ(4U, fread(buf2, 1, sizeof(buf2), fp)); in TEST()
1802 ASSERT_TRUE(feof(fp)); in TEST()
1803 ASSERT_EQ(0, fclose(fp)); in TEST()
1807 FILE* fp; in TEST() local
1813 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "r+")); in TEST()
1814 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1815 ASSERT_EQ(0, fseek(fp, 2, SEEK_SET)); in TEST()
1816 ASSERT_EQ(' ', fputc(' ', fp)); in TEST()
1818 ASSERT_EQ(0, fclose(fp)); in TEST()
1825 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "a+")); in TEST()
1826 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1827 ASSERT_EQ(' ', fputc(' ', fp)); in TEST()
1829 ASSERT_EQ(0, fclose(fp)); in TEST()
1836 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "w+")); in TEST()
1837 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1838 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1839 EXPECT_EQ(0, ftell(fp)); in TEST()
1840 ASSERT_EQ(' ', fputc(' ', fp)); in TEST()
1841 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1842 EXPECT_EQ(1, ftell(fp)); in TEST()
1843 ASSERT_NE(EOF, fputs("123", fp)); in TEST()
1844 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
1845 EXPECT_EQ(4, ftell(fp)); in TEST()
1847 ASSERT_EQ(0, fclose(fp)); in TEST()
1853 FILE* fp; in TEST() local
1856 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 4, "w")); in TEST()
1857 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1858 ASSERT_EQ('x', fputc('x', fp)); in TEST()
1859 ASSERT_EQ('x', fputc('x', fp)); in TEST()
1860 ASSERT_EQ('x', fputc('x', fp)); in TEST()
1861 ASSERT_EQ(EOF, fputc('x', fp)); // Only 3 fit because of the implicit NUL. in TEST()
1862 ASSERT_EQ(0, fclose(fp)); in TEST()
1865 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 4, "w")); in TEST()
1866 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1867 ASSERT_EQ(3U, fwrite("xxxx", 1, 4, fp)); in TEST()
1868 ASSERT_EQ(0, fclose(fp)); in TEST()
1875 FILE* fp; in TEST() local
1876 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "r")); in TEST()
1877 EXPECT_EQ(0L, ftell(fp)); in TEST()
1878 EXPECT_EQ(0, fclose(fp)); in TEST()
1879 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "w")); in TEST()
1880 EXPECT_EQ(0L, ftell(fp)); in TEST()
1881 EXPECT_EQ(0, fclose(fp)); in TEST()
1885 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "a")); in TEST()
1886 EXPECT_EQ(5L, ftell(fp)); in TEST()
1887 EXPECT_EQ(0, fclose(fp)); in TEST()
1892 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "a")); in TEST()
1893 EXPECT_EQ(static_cast<long>(sizeof(buf)), ftell(fp)); in TEST()
1894 EXPECT_EQ(0, fclose(fp)); in TEST()
1900 FILE* fp = fmemopen(nullptr, 128, "a+"); in TEST() local
1901 ASSERT_TRUE(fp != nullptr); in TEST()
1902 EXPECT_EQ(0L, ftell(fp)); in TEST()
1903 EXPECT_EQ(0L, fseek(fp, 0, SEEK_SET)); in TEST()
1904 EXPECT_EQ(0, fclose(fp)); in TEST()
1912 FILE* fp; in TEST() local
1914 ASSERT_NE(nullptr, fp = fmemopen(buf, 0, "r+")); in TEST()
1915 ASSERT_EQ(EOF, fgetc(fp)); in TEST()
1916 ASSERT_TRUE(feof(fp)); in TEST()
1917 ASSERT_EQ(0, fclose(fp)); in TEST()
1918 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 0, "r+")); in TEST()
1919 ASSERT_EQ(EOF, fgetc(fp)); in TEST()
1920 ASSERT_TRUE(feof(fp)); in TEST()
1921 ASSERT_EQ(0, fclose(fp)); in TEST()
1923 ASSERT_NE(nullptr, fp = fmemopen(buf, 0, "w+")); in TEST()
1924 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1925 ASSERT_EQ(EOF, fputc('x', fp)); in TEST()
1926 ASSERT_EQ(0, fclose(fp)); in TEST()
1927 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 0, "w+")); in TEST()
1928 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1929 ASSERT_EQ(EOF, fputc('x', fp)); in TEST()
1930 ASSERT_EQ(0, fclose(fp)); in TEST()
1936 FILE* fp = fmemopen(buf, 0, "w"); in TEST() local
1938 ASSERT_EQ(0, fclose(fp)); in TEST()
1944 FILE* fp; in TEST() local
1945 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "r")); in TEST()
1946 ASSERT_EQ(0, fclose(fp)); in TEST()
1947 ASSERT_NE(nullptr, fp = fmemopen(nullptr, 16, "w")); in TEST()
1948 ASSERT_EQ(0, fclose(fp)); in TEST()
1953 FILE* fp = fmemopen(nullptr, 16, "r"); in TEST() local
1954 ASSERT_TRUE(fp != nullptr); in TEST()
1956 ASSERT_EQ(-1, fileno(fp)); in TEST()
1958 ASSERT_EQ(0, fclose(fp)); in TEST()
1965 FILE* fp; in TEST() local
1967 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "a")); in TEST()
1968 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1969 ASSERT_EQ(0, fseek(fp, 0, SEEK_SET)); in TEST()
1970 ASSERT_NE(EOF, fputc('!', fp)); in TEST()
1972 ASSERT_EQ(0, fclose(fp)); in TEST()
1975 ASSERT_NE(nullptr, fp = fmemopen(buf, sizeof(buf), "a+")); in TEST()
1976 setbuf(fp, nullptr); // Turn off buffering so we can see what's happening as it happens. in TEST()
1977 ASSERT_EQ(0, fseek(fp, 0, SEEK_SET)); in TEST()
1978 ASSERT_NE(EOF, fputc('!', fp)); in TEST()
1980 ASSERT_EQ(0, fclose(fp)); in TEST()
1986 FILE* fp = open_memstream(&p, &size); in TEST() local
1987 ASSERT_NE(EOF, fputs("hello, world!", fp)); in TEST()
1988 fclose(fp); in TEST()
2022 FILE* fp = fdopen(fd, "re"); in TEST() local
2023 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2024 fclose(fp); in TEST()
2032 FILE* fp = fdopen(fd, "r"); in TEST() local
2033 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2034 fclose(fp); in TEST()
2039 FILE* fp = fopen("/proc/version", "r"); in TEST() local
2040 ASSERT_FALSE(CloseOnExec(fileno(fp))); in TEST()
2042 fp = freopen("/proc/version", "re", fp); in TEST()
2043 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2045 fclose(fp); in TEST()
2050 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2051 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2053 fp = freopen("/proc/version", "r", fp); in TEST()
2054 ASSERT_FALSE(CloseOnExec(fileno(fp))); in TEST()
2055 fclose(fp); in TEST()
2060 FILE* fp = fopen("/proc/version", "r"); in TEST() local
2061 ASSERT_FALSE(CloseOnExec(fileno(fp))); in TEST()
2063 fp = freopen(nullptr, "re", fp); in TEST()
2064 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2065 fclose(fp); in TEST()
2070 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2071 ASSERT_TRUE(CloseOnExec(fileno(fp))); in TEST()
2073 fp = freopen(nullptr, "r", fp); in TEST()
2074 ASSERT_FALSE(CloseOnExec(fileno(fp))); in TEST()
2075 fclose(fp); in TEST()
2079 FILE* fp = fopen64("/proc/version", "r"); in TEST() local
2080 ASSERT_TRUE(fp != nullptr); in TEST()
2081 fp = freopen64("/proc/version", "re", fp); in TEST()
2082 ASSERT_TRUE(fp != nullptr); in TEST()
2083 fclose(fp); in TEST()
2089 FILE* fp = fopen("/dev/zero", "r"); in TEST() local
2090 ASSERT_TRUE(fp != nullptr); in TEST()
2093 setvbuf(fp, nullptr, _IONBF, 0); in TEST()
2100 ASSERT_EQ(1U, fread(buf, 64*1024, 1, fp)); in TEST()
2104 fclose(fp); in TEST()
2119 FILE* fp = fmemopen(&digits[0], digits.size(), "r"); in TEST() local
2124 ASSERT_EQ(2U, fread(buf1, 4, 4, fp)); in TEST()
2126 ASSERT_TRUE(feof(fp)); in TEST()
2128 rewind(fp); in TEST()
2133 ASSERT_EQ(2U, fread(buf2, 4, 4096, fp)); in TEST()
2135 ASSERT_TRUE(feof(fp)); in TEST()
2137 fclose(fp); in TEST()
2141 FILE* fp = fopen("/dev/null", "w"); in test_fread_from_write_only_stream() local
2144 ASSERT_EQ(0U, fread(&buf[0], n, 1, fp)); in test_fread_from_write_only_stream()
2146 ASSERT_TRUE(ferror(fp)); in test_fread_from_write_only_stream()
2147 ASSERT_FALSE(feof(fp)); in test_fread_from_write_only_stream()
2148 fclose(fp); in test_fread_from_write_only_stream()
2160 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2161 ASSERT_FALSE(ferror(fp)); in TEST()
2162 ASSERT_EQ(0U, fwrite("hello", 1, 5, fp)); in TEST()
2163 ASSERT_TRUE(ferror(fp)); in TEST()
2167 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2168 ASSERT_FALSE(ferror(fp)); in TEST()
2169 ASSERT_EQ(EOF, fputc('x', fp)); in TEST()
2170 ASSERT_TRUE(ferror(fp)); in TEST()
2174 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2175 ASSERT_FALSE(ferror(fp)); in TEST()
2176 ASSERT_EQ(-1, fprintf(fp, "%s%d", "hello", 123)); in TEST()
2177 ASSERT_TRUE(ferror(fp)); in TEST()
2183 FILE* fp = fdopen(tf.fd, "w+"); in test_fwrite_after_fread() local
2184 ASSERT_EQ(1U, fwrite("1", 1, 1, fp)); in test_fwrite_after_fread()
2185 fflush(fp); in test_fwrite_after_fread()
2189 ASSERT_EQ(0U, fread(&buf[0], 1, buf.size(), fp)); in test_fwrite_after_fread()
2190 ASSERT_TRUE(feof(fp)); in test_fwrite_after_fread()
2194 ASSERT_EQ(1U, fwrite("2", 1, 1, fp)) << strerror(errno); in test_fwrite_after_fread()
2197 rewind(fp); in test_fwrite_after_fread()
2198 ASSERT_EQ(2U, fread(&buf[0], 1, buf.size(), fp)); in test_fwrite_after_fread()
2202 fclose(fp); in test_fwrite_after_fread()
2217 FILE* fp = fopen(tf.path, "w+"); in TEST() local
2218 ASSERT_TRUE(fp != nullptr); in TEST()
2224 ASSERT_EQ(12288U, fwrite(file_data, 1, 12288, fp)); in TEST()
2225 fclose(fp); in TEST()
2227 fp = fopen(tf.path, "r"); in TEST()
2228 ASSERT_TRUE(fp != nullptr); in TEST()
2233 ASSERT_EQ(100U, fread(buffer, 1, 100, fp)); in TEST()
2236 cur_location = static_cast<size_t>(ftell(fp)); in TEST()
2239 ASSERT_EQ(8192U, fread(buffer, 1, 8192, fp)); in TEST()
2243 ASSERT_EQ(0, fseek(fp, -22, SEEK_CUR)) << strerror(errno); in TEST()
2244 cur_location = static_cast<size_t>(ftell(fp)); in TEST()
2245 ASSERT_EQ(22U, fread(buffer, 1, 22, fp)); in TEST()
2248 fclose(fp); in TEST()
2304 FILE* fp = funopen(nullptr, read_fn, nullptr, nullptr, nullptr); in TEST() local
2305 ASSERT_TRUE(fp != nullptr); in TEST()
2309 ASSERT_EQ(-1, ftell(fp)); in TEST()
2314 ASSERT_EQ(-1, fseek(fp, 0, SEEK_CUR)); in TEST()
2319 ASSERT_EQ(-1, fseek(fp, 0, SEEK_SET)); in TEST()
2322 fclose(fp); in TEST()
2345 FILE* fp = funopen(nullptr, read_fn, nullptr, seek_fn, nullptr); in TEST() local
2346 ASSERT_TRUE(fp != nullptr); in TEST()
2349 EXPECT_EQ(0, fgetpos(fp, &pos)) << strerror(errno); in TEST()
2352 EXPECT_EQ(-1, fgetpos(fp, &pos)) << strerror(errno); in TEST()
2373 FILE* fp = fopen(tf->path, "w+"); in TEST() local
2374 fps.push_back(fp); in TEST()
2375 fprintf(fp, "hello %zu!\n", i); in TEST()
2376 fflush(fp); in TEST()
2389 static void AssertFileOffsetAt(FILE* fp, off64_t offset) { in AssertFileOffsetAt() argument
2390 EXPECT_EQ(offset, ftell(fp)); in AssertFileOffsetAt()
2391 EXPECT_EQ(offset, ftello(fp)); in AssertFileOffsetAt()
2392 EXPECT_EQ(offset, ftello64(fp)); in AssertFileOffsetAt()
2395 EXPECT_EQ(0, fgetpos(fp, &pos)); in AssertFileOffsetAt()
2396 EXPECT_EQ(0, fgetpos64(fp, &pos64)); in AssertFileOffsetAt()
2407 FILE* fp = fdopen(tf.fd, "w+"); in TEST() local
2410 AssertFileOffsetAt(fp, 0); in TEST()
2413 ASSERT_EQ(0, fseek(fp, 8192, SEEK_SET)); in TEST()
2414 AssertFileOffsetAt(fp, 8192); in TEST()
2416 ASSERT_EQ(0, fgetpos(fp, &eight_k_pos)); in TEST()
2419 ASSERT_EQ(0, fseek(fp, 8192, SEEK_CUR)); in TEST()
2420 AssertFileOffsetAt(fp, 8192 + 8192); in TEST()
2422 ASSERT_EQ(0, fgetpos64(fp, &sixteen_k_pos64)); in TEST()
2425 ASSERT_EQ(0, fseek(fp, -8192, SEEK_CUR)); in TEST()
2426 AssertFileOffsetAt(fp, 8192); in TEST()
2429 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
2430 AssertFileOffsetAt(fp, 0); in TEST()
2433 ASSERT_EQ(0, fsetpos64(fp, &sixteen_k_pos64)); in TEST()
2434 AssertFileOffsetAt(fp, 8192 + 8192); in TEST()
2436 ASSERT_EQ(0, fsetpos(fp, &eight_k_pos)); in TEST()
2437 AssertFileOffsetAt(fp, 8192); in TEST()
2440 ASSERT_EQ(0, fseeko(fp, 1234, SEEK_SET)); in TEST()
2441 AssertFileOffsetAt(fp, 1234); in TEST()
2442 ASSERT_EQ(0, fseeko64(fp, 5678, SEEK_SET)); in TEST()
2443 AssertFileOffsetAt(fp, 5678); in TEST()
2445 fclose(fp); in TEST()
2450 FILE* fp = fdopen(tf.fd, "w+"); in TEST() local
2454 ASSERT_EQ(-1, fseek(fp, 0, 123)); in TEST()
2457 ASSERT_EQ(-1, fseeko(fp, 0, 123)); in TEST()
2460 ASSERT_EQ(-1, fseeko64(fp, 0, 123)); in TEST()
2465 ASSERT_EQ(-1, fseek(fp, -1, SEEK_SET)); in TEST()
2468 ASSERT_EQ(-1, fseeko(fp, -1, SEEK_SET)); in TEST()
2471 ASSERT_EQ(-1, fseeko64(fp, -1, SEEK_SET)); in TEST()
2474 fclose(fp); in TEST()
2587 FILE* fp = fopen(tf.path, "a"); in TEST() local
2588 EXPECT_EQ(10, ftell(fp)); in TEST()
2589 ASSERT_EQ(0, fseek(fp, 2, SEEK_SET)); in TEST()
2590 EXPECT_EQ(2, ftell(fp)); in TEST()
2591 ASSERT_NE(EOF, fputs("xxx", fp)); in TEST()
2592 ASSERT_EQ(0, fflush(fp)); in TEST()
2593 EXPECT_EQ(13, ftell(fp)); in TEST()
2594 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
2595 EXPECT_EQ(13, ftell(fp)); in TEST()
2596 ASSERT_EQ(0, fclose(fp)); in TEST()
2608 FILE* fp = fdopen(fd, "a"); in TEST() local
2609 EXPECT_EQ(4, ftell(fp)); in TEST()
2610 ASSERT_EQ(0, fseek(fp, 2, SEEK_SET)); in TEST()
2611 EXPECT_EQ(2, ftell(fp)); in TEST()
2612 ASSERT_NE(EOF, fputs("xxx", fp)); in TEST()
2613 ASSERT_EQ(0, fflush(fp)); in TEST()
2614 EXPECT_EQ(13, ftell(fp)); in TEST()
2615 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
2616 EXPECT_EQ(13, ftell(fp)); in TEST()
2617 ASSERT_EQ(0, fclose(fp)); in TEST()
2625 FILE* fp = freopen(tf.path, "a", other_fp); in TEST() local
2626 EXPECT_EQ(10, ftell(fp)); in TEST()
2627 ASSERT_EQ(0, fseek(fp, 2, SEEK_SET)); in TEST()
2628 EXPECT_EQ(2, ftell(fp)); in TEST()
2629 ASSERT_NE(EOF, fputs("xxx", fp)); in TEST()
2630 ASSERT_EQ(0, fflush(fp)); in TEST()
2631 EXPECT_EQ(13, ftell(fp)); in TEST()
2632 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
2633 EXPECT_EQ(13, ftell(fp)); in TEST()
2634 ASSERT_EQ(0, fclose(fp)); in TEST()
2668 FILE* fp = fopen(tf.path, "w+"); in TEST() local
2669 ASSERT_TRUE(fp != nullptr); in TEST()
2671 clearerr_unlocked(fp); in TEST()
2672 ASSERT_FALSE(feof_unlocked(fp)); in TEST()
2673 ASSERT_FALSE(ferror_unlocked(fp)); in TEST()
2675 ASSERT_EQ(fileno(fp), fileno_unlocked(fp)); in TEST()
2677 ASSERT_NE(EOF, putc_unlocked('a', fp)); in TEST()
2678 ASSERT_NE(EOF, putc('b', fp)); in TEST()
2679 ASSERT_NE(EOF, fputc_unlocked('c', fp)); in TEST()
2680 ASSERT_NE(EOF, fputc('d', fp)); in TEST()
2682 rewind(fp); in TEST()
2683 ASSERT_EQ('a', getc_unlocked(fp)); in TEST()
2684 ASSERT_EQ('b', getc(fp)); in TEST()
2685 ASSERT_EQ('c', fgetc_unlocked(fp)); in TEST()
2686 ASSERT_EQ('d', fgetc(fp)); in TEST()
2688 rewind(fp); in TEST()
2689 ASSERT_EQ(2U, fwrite_unlocked("AB", 1, 2, fp)); in TEST()
2690 ASSERT_EQ(2U, fwrite("CD", 1, 2, fp)); in TEST()
2691 ASSERT_EQ(0, fflush_unlocked(fp)); in TEST()
2693 rewind(fp); in TEST()
2695 ASSERT_EQ(2U, fread_unlocked(&buf[0], 1, 2, fp)); in TEST()
2696 ASSERT_EQ(2U, fread(&buf[2], 1, 2, fp)); in TEST()
2699 rewind(fp); in TEST()
2700 ASSERT_NE(EOF, fputs("hello ", fp)); in TEST()
2701 ASSERT_NE(EOF, fputs_unlocked("world", fp)); in TEST()
2702 ASSERT_NE(EOF, fputc('\n', fp)); in TEST()
2704 rewind(fp); in TEST()
2705 ASSERT_TRUE(fgets_unlocked(buf, sizeof(buf), fp) != nullptr); in TEST()
2708 ASSERT_EQ(0, fclose(fp)); in TEST()
2713 FILE* fp = fopen64(tf.path, "w+"); in TEST() local
2714 ASSERT_TRUE(fp != nullptr); in TEST()
2715 ASSERT_EQ(0, fseeko64(fp, 0x2'0000'0000, SEEK_SET)); in TEST()
2716 ASSERT_EQ(0x2'0000'0000, ftello64(fp)); in TEST()
2717 ASSERT_EQ(0, fseeko64(fp, 0x1'0000'0000, SEEK_CUR)); in TEST()
2718 ASSERT_EQ(0x3'0000'0000, ftello64(fp)); in TEST()
2719 ASSERT_EQ(0, fclose(fp)); in TEST()
2726 FILE* fp = fopen64(tf.path, "w+"); in TEST() local
2727 ASSERT_EQ(0, ftruncate64(fileno(fp), 0x2'0000'0000)); in TEST()
2731 ASSERT_EQ(0, fseek(fp, 0x7fff'ffff, SEEK_SET)); in TEST()
2732 ASSERT_EQ(-1, fseek(fp, 1, SEEK_CUR)); in TEST()
2739 ASSERT_EQ(0, fseek(fp, 0, SEEK_END)); in TEST()
2740 ASSERT_EQ(0x2'0000'0000, ftello64(fp)); in TEST()
2742 fclose(fp); in TEST()
2867 FILE* fp; in TEST() local
2873 fp = fdopen(fd, "nonsense"); in TEST()
2874 ASSERT_TRUE(fp == nullptr); in TEST()
2879 fp = fdopen(fd, "w"); in TEST()
2880 ASSERT_TRUE(fp == nullptr); in TEST()
2885 fp = fdopen(fd, "a"); in TEST()
2886 ASSERT_TRUE(fp == nullptr); in TEST()
2891 fp = fdopen(-1, "re"); in TEST()
2892 ASSERT_TRUE(fp == nullptr); in TEST()
2900 FILE* fp = fmemopen(nullptr, 16, "nonsense"); in TEST() local
2901 ASSERT_TRUE(fp == nullptr); in TEST()
2907 FILE* fp = fopen("/proc/version", "nonsense"); in TEST() local
2908 ASSERT_TRUE(fp == nullptr); in TEST()
2913 FILE* fp = fopen("/proc/version", "re"); in TEST() local
2914 ASSERT_TRUE(fp != nullptr); in TEST()
2917 fp = freopen("/proc/version", "nonsense", fp); in TEST()
2918 ASSERT_TRUE(fp == nullptr); in TEST()
2931 FILE* fp = fopen("/proc/does-not-exist", "re"); in TEST() local
2932 ASSERT_TRUE(fp == nullptr); in TEST()
3004 FILE* fp = fopen(tf.path, "r"); in TEST() local
3005 ASSERT_TRUE(fp != nullptr); in TEST()
3009 ASSERT_EQ(0, read(fileno(fp), buf, 1)); in TEST()
3010 ASSERT_EQ(-1, write(fileno(fp), "hello", 1)); in TEST()
3012 fp = freopen(nullptr, "r+", fp); in TEST()
3013 ASSERT_EQ(0, read(fileno(fp), buf, 1)); in TEST()
3014 ASSERT_EQ(1, write(fileno(fp), "hello", 1)); in TEST()
3016 fp = freopen(nullptr, "w", fp); in TEST()
3017 ASSERT_EQ(-1, read(fileno(fp), buf, 1)); in TEST()
3018 ASSERT_EQ(1, write(fileno(fp), "hello", 1)); in TEST()
3020 fclose(fp); in TEST()
3037 std::unique_ptr<FILE, decltype(&fclose)> fp{fopen("/dev/zero", "re"), fclose}; in TEST()
3038 ASSERT_EQ(too_big_for_an_int, fread(&buf[0], 1, too_big_for_an_int, fp.get())); in TEST()
3050 std::unique_ptr<FILE, decltype(&fclose)> fp{fopen("/dev/null", "we"), fclose}; in TEST()
3051 ASSERT_EQ(too_big_for_an_int, fwrite(&buf[0], 1, too_big_for_an_int, fp.get())); in TEST()