stdlib.c 837 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdlib.h>
  2. #include <limits.h>
  3. #include "test.h"
  4. div_t test_div;
  5. ldiv_t test_ldiv;
  6. size_t test_size;
  7. wchar_t test_wchar;
  8. void test_stdlib_h(void)
  9. {
  10. int exit_statuses[] = {
  11. EXIT_FAILURE,
  12. EXIT_SUCCESS,
  13. };
  14. testing_header("stdlib.h");
  15. test_distinct(exit_statuses);
  16. test_min(MB_CUR_MAX, 1);
  17. test_max(MB_CUR_MAX, MB_LEN_MAX);
  18. test_true(NULL == 0);
  19. test_min(RAND_MAX, 32767);
  20. test_int_equals(atoi("100"), 100);
  21. test_int_equals(atoi("-100"), -100);
  22. test_long_equals(strtol("0xff", NULL, 0), 0xff);
  23. test_long_equals(strtol(" +07777q", NULL, 0), 07777);
  24. test_long_equals(strtol("-beef", NULL, 16), -0xbeef);
  25. test_long_equals(strtol("zzzzzzzzzzzzzzzzzzzz", NULL, 36), LONG_MAX);
  26. test_long_equals(strtol("-zzzzzzzzzzzzzzzzzzzz", NULL, 36), LONG_MIN);
  27. test_double(strtod("1.5", NULL), 1.5);
  28. testing_end();
  29. }