test_strchrnul ();
main (void){  int status;  /* Test strcmp first because we use it to test other things.  */  test_strcmp ();  /* Test strcpy next because we need it to set up other tests.  */  test_strcpy ();  /* A closely related function is stpcpy.  */  test_stpcpy ();  /* stpncpy.  */  test_stpncpy ();  /* strcat.  */  test_strcat ();  /* strncat.  */  test_strncat ();  /* strncmp.  */  test_strncmp ();  /* strncpy.  */  test_strncpy ();  /* strlen.  */  test_strlen ();  /* strchr.  */  test_strchr ();  /* index - just like strchr.  */  test_index ();  /* strrchr.  */  test_strrchr ();  /* rindex - just like strrchr.  */  test_rindex ();  /* strpbrk - somewhat like strchr.  */  test_strpbrk ();  /* strstr - somewhat like strchr.  */  test_strstr ();  /* strspn.  */  test_strspn ();  /* strcspn.  */  test_strcspn ();  /* strtok - the hard one.  */  test_strtok ();  /* strtok_r.  */  test_strtok_r ();  /* strsep.  */  test_strsep ();  /* memcmp.  */  test_memcmp ();  /* memchr.  */  test_memchr ();  /* memcpy - need not work for overlap.  */  test_memcpy ();  /* memmove - must work on overlap.  */  test_memmove ();  /* memccpy.  */  test_memccpy ();  /* memset.  */  test_memset ();  /* bcopy.  */  test_bcopy ();  /* bzero.  */  test_bzero ();  /* bcmp - somewhat like memcmp.  */  test_bcmp ();  /* strerror - VERY system-dependent.  */  test_strerror ();  if (errors == 0)    {      status = EXIT_SUCCESS;      puts("No errors.");    }  else    {      status = EXIT_FAILURE;      printf("%Zd errors.\n", errors);    }  exit(status);}