diff options
Diffstat (limited to 'test.c')
-rw-r--r-- | test.c | 85 |
1 files changed, 85 insertions, 0 deletions
@@ -0,0 +1,85 @@ +/* Compile with: cc test.c -Irgo/include -Lrgo -lrgo -otest */ + +#include <assert.h> +#include <inttypes.h> +#include <rgo.h> +#include <stddef.h> +#include <stdint.h> +#include <stdio.h> + +int main(void) { + { + char const * restrict str = "Oh my science!"; + size_t pos = rgo_fndchr(str,' '); + fprintf(stderr,"pos: %zX\n",pos); + assert(pos == (size_t)0x2); + str += pos + (size_t)0x1; + pos = rgo_fndchr(str,' '); + fprintf(stderr,"pos: %zX\n",pos); + assert(pos == (size_t)0x2); + str += pos + (size_t)0x1; + pos = rgo_fndchr(str,' '); + fprintf(stderr,"pos: %zX\n",pos); + assert(pos == (size_t)-0x1); + } + { +#undef arrsz +#define arrsz ((size_t)0x7) + uint64_t arr0[arrsz] = {0x0}; + rgo_memfill(arr0,arrsz * sizeof (uint64_t),UINT8_C(0x0)); + fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[(size_t)0x0]); + fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[(size_t)0x1]); + fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[(size_t)0x2]); + fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[(size_t)0x3]); + fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[(size_t)0x4]); + fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[(size_t)0x5]); + fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[(size_t)0x6]); + assert(arr0[(size_t)0x0] == UINT64_C(0x0)); + assert(arr0[(size_t)0x1] == UINT64_C(0x0)); + assert(arr0[(size_t)0x2] == UINT64_C(0x0)); + assert(arr0[(size_t)0x3] == UINT64_C(0x0)); + assert(arr0[(size_t)0x4] == UINT64_C(0x0)); + assert(arr0[(size_t)0x5] == UINT64_C(0x0)); + assert(arr0[(size_t)0x6] == UINT64_C(0x0)); + rgo_memfill(arr0,arrsz * sizeof (uint64_t),INT8_C(0x7F)); + fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[(size_t)0x0]); + fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[(size_t)0x1]); + fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[(size_t)0x2]); + fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[(size_t)0x3]); + fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[(size_t)0x4]); + fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[(size_t)0x5]); + fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[(size_t)0x6]); + assert(arr0[(size_t)0x0] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x1] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x2] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x3] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x4] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x5] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr0[(size_t)0x6] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + uint64_t arr1[arrsz] = {0x0}; + rgo_memcpy(arr0,arrsz * sizeof (uint64_t),arr1); + fprintf(stderr,"arr1[0]: %" PRIX64 "\n",arr1[(size_t)0x0]); + fprintf(stderr,"arr1[1]: %" PRIX64 "\n",arr1[(size_t)0x1]); + fprintf(stderr,"arr1[2]: %" PRIX64 "\n",arr1[(size_t)0x2]); + fprintf(stderr,"arr1[3]: %" PRIX64 "\n",arr1[(size_t)0x3]); + fprintf(stderr,"arr1[4]: %" PRIX64 "\n",arr1[(size_t)0x4]); + fprintf(stderr,"arr1[5]: %" PRIX64 "\n",arr1[(size_t)0x5]); + fprintf(stderr,"arr1[6]: %" PRIX64 "\n",arr1[(size_t)0x6]); + assert(arr1[(size_t)0x0] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x1] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x2] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x3] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x4] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x5] == UINT64_C(0x7F7F7F7F7F7F7F7F)); + assert(arr1[(size_t)0x6] == UINT64_C(0x7F7F7F7F7F7F7F7F)); +#undef arrsz + } + { + char const * str0 = "Hello there! General Kenobi?"; + fprintf(stderr,"str0: \"%s\"\n",str0); + size_t const strsz = rgo_strlen(str0); + fprintf(stderr,"strsz: %zX\n",strsz); + assert(strsz == (size_t)0x1C); + } + printf("All tests have passed!\n"); +} |