clearerr_tc.c 530 B

12345678910111213141516171819202122232425262728293031
  1. #include <stdio.h>
  2. static int clearerr_entry(void)
  3. {
  4. putc( 'c', stdin );
  5. if( ferror( stdin ) )
  6. {
  7. perror( "Write error" );
  8. clearerr( stdin );
  9. }
  10. if( ferror( stdin ))
  11. {
  12. perror( "clearerr error" );
  13. return -1;
  14. }
  15. return 0;
  16. }
  17. #include <utest.h>
  18. static void test_clearerr(void)
  19. {
  20. uassert_int_equal(clearerr_entry(), 0);
  21. }
  22. static void testcase(void)
  23. {
  24. UTEST_UNIT_RUN(test_clearerr);
  25. }
  26. UTEST_TC_EXPORT(testcase, "posix.stdio_h.clearerr.c", RT_NULL, RT_NULL, 10);