diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-02-13 04:40:08 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-02-13 05:04:56 +0100 |
| commit | a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a (patch) | |
| tree | ed61e8a72339b89e9fd46717f8422fc9f33b6d7d | |
| parent | b1ded109567f20ccd6bbe547618149abde7cd5b2 (diff) | |
| download | libft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.tar.gz libft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.tar.bz2 libft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.zip | |
filling mem tests, testing readme doc
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | README.md | 171 | ||||
| -rwxr-xr-x | script/generate_boilerplate_test.sh | 9 | ||||
| -rw-r--r-- | src/mem/ft_memchr.c | 2 | ||||
| -rw-r--r-- | test/src/mem/test_ft_bzero.c | 6 | ||||
| -rw-r--r-- | test/src/mem/test_ft_memcpy.c | 23 | ||||
| -rw-r--r-- | test/src/mem/test_ft_memset.c | 18 | ||||
| -rw-r--r-- | test/src/mem/test_ft_memswap.c | 19 |
8 files changed, 242 insertions, 8 deletions
@@ -6,7 +6,7 @@ # By: cacharle <marvin@42.fr> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/10/08 15:45:53 by cacharle #+# #+# # -# Updated: 2020/02/10 02:18:58 by cacharle ### ########.fr # +# Updated: 2020/02/13 04:31:23 by cacharle ### ########.fr # # # # **************************************************************************** # @@ -26,6 +26,175 @@ make test Much like the `.gitignore` file, you can put the files/directory to ignore when compiling. -### School turn in +## Documentation + +### mem + + + + + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_bzero | `void ft_bzero(void *s, size_t n)` | fill `n` bytes of `s` with 0 | [x] | +| ft_calloc | `void *ft_calloc(size_t count, size_t size)` | allocate `count` element of `size` and initialize them to 0 | [ ] | +| ft_memccpy | `void *ft_memccpy(void *dest, const void *src, int c, size_t n)` | copy `n` byte from `src` to `dest` until `c` is reached | [ ] | +| ft_memchr | `void *ft_memchr(const void *s, int c, size_t n)` | return the address of the first occurance of `c` in `s` or NULL if `c` isn't found | [ ] | +| ft_memcmp | `int ft_memcmp(const void *s1, const void *s2, size_t n)` | compare `n` byte of `s1` and `s2` | [ ] | +| ft_memcpy | `void *ft_memcpy(void *dest, const void *src, size_t n)` | copy `n` byte from `src` to `dest` | [x] | +| ft_memmem | `void *ft_memmem(const void *big, size_t big_len, const void *little, size_t little_len)` | search `little` in `big` | [ ] | +| ft_memmove | `void *ft_memmove(void *dst, const void *src, size_t len)` | copy `len` byte from `src` to `dst` and the copied memory can overlap | [ ] | +| ft_memset | `void *ft_memset(void *s, int c, size_t n)` | set `n` byte of `s` to `c` | [x] | +| ft_memset_pattern4 | `void ft_memset_pattern4(void *b, const void *pattern4, size_t len)` | set `len` byte of `b` to a reapeated pattern of 4 bytes | [ ] | +| ft_memswap | `void ft_memswap(void *a, void *b, size_t size)` | swap `a` and `b` memory | [x] | + +### algo + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_bsearch | | | | +| ft_compar_int | | | | +| ft_heapsort | | | | +| ft_is_set | | | | +| ft_lfind | | | | +| ft_lsearch | | | | +| ft_mergesort | | | | +| ft_qsort | | | | +| ft_reverse | | | | + +### bt + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_btdestroy | | | | +| ft_btnew | | | | + +### ctype + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_isalnum | | | | +| ft_isalpha | | | | +| ft_isascii | | | | +| ft_isblank | | | | +| ft_isdigit | | | | +| ft_isprint | | | | +| ft_isspace | | | | +| ft_todigit | | | | +| ft_tolower | | | | +| ft_toupper | | | | + +### ht + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_htcontent_new | | | | +| ft_htdelone | | | | +| ft_htdelone_key | | | | +| ft_htdestroy | | | | +| ft_htdestroy_all | | | | +| ft_htdestroy_key | | | | +| ft_htget | | | | +| ft_hthash | | | | +| ft_htnew | | | | +| ft_htset | | | | + +### io + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_getchar | | | | +| ft_next_line | | | | +| ft_asprintf | | | | +| ft_dprintf | | | | +| ft_printf | | | | +| ft_snprintf | | | | +| ft_sprintf | | | | +| ft_vasprintf | | | | +| ft_vdprintf | | | | +| ft_vprintf | | | | +| ft_vsnprintf | | | | +| ft_vsprintf | | | | +| ft_putchar | | | | | +| ft_putchar_fd | | | | | +| ft_putendl | | | | | +| ft_putendl_fd | | | | | +| ft_putnbr | | | | | +| ft_putnbr_fd | | | | | +| ft_putstr | | | | | +| ft_putstr_fd | | | | | + +### lst + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_lstadd_back | | | | | +| ft_lstadd_front | | | | | +| ft_lstbsearch | | | | | +| ft_lstclear | | | | | +| ft_lstdelone | | | | | +| ft_lstiter | | | | | +| ft_lstlast | | | | | +| ft_lstmap | | | | | +| ft_lstnew | | | | | +| ft_lstpop_front | | | | | +| ft_lstremove_if | | | | | +| ft_lstreverse | | | | | +| ft_lstreverse_ret | | | | | +| ft_lstsize | | | | | +| ft_lstsort | | | | | +| ft_lstsorted_merge | | | | | + +### str + +| Name | prototype | description | tested | +|------|-----------|-------------|--------| +| ft_atoi | | | | | +| ft_atoi_strict | | | | | +| ft_itoa | | | | | +| ft_split | | | | | +| ft_strcasecmp | | | | | +| ft_strcat | | | | | +| ft_strchr | | | | | +| ft_strclr | | | | | +| ft_strcmp | | | | | +| ft_strcount | | | | | +| ft_strcpy | | | | | +| ft_strcspn | | | | | +| ft_strdel | | | | | +| ft_strdup | | | | | +| ft_strequ | | | | | +| ft_striter | | | | | +| ft_striteri | | | | | +| ft_strjoin | | | | | +| ft_strjoin_free | | | | | +| ft_strjoin_free_snd | | | | | +| ft_strlcat | | | | | +| ft_strlcpy | | | | | +| ft_strlen | | | | | +| ft_strmap | | | | | +| ft_strmapi | | | | | +| ft_strncasecmp | | | | | +| ft_strncat | | | | | +| ft_strncmp | | | | | +| ft_strncpy | | | | | +| ft_strndup | | | | | +| ft_strnequ | | | | | +| ft_strnew | | | | | +| ft_strnlen | | | | | +| ft_strnstr | | | | | +| ft_strpbrk | | | | | +| ft_strrchr | | | | | +| ft_strsep | | | | | +| ft_strspn | | | | | +| ft_strstr | | | | | +| ft_strtol | | | | | +| ft_strtolower | | | | | +| ft_strtoupper | | | | | +| ft_strtrim | | | | | +| ft_substr | | | | | + +## School correction state The state of this project when I turned it in for correction is [here](http://github.com/HappyTramp/libft/tree/raw). + diff --git a/script/generate_boilerplate_test.sh b/script/generate_boilerplate_test.sh new file mode 100755 index 0000000..ef6a2cf --- /dev/null +++ b/script/generate_boilerplate_test.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +for f in $@ +do + test_name="test_`basename $f | sed 's/\..*//'`" + + + echo $test_name +done diff --git a/src/mem/ft_memchr.c b/src/mem/ft_memchr.c index 27e9028..4fd8689 100644 --- a/src/mem/ft_memchr.c +++ b/src/mem/ft_memchr.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:55:31 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:53:57 by cacharle ### ########.fr */ +/* Updated: 2020/02/13 04:28:00 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/test/src/mem/test_ft_bzero.c b/test/src/mem/test_ft_bzero.c index f425068..20e560d 100644 --- a/test/src/mem/test_ft_bzero.c +++ b/test/src/mem/test_ft_bzero.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/13 03:32:20 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:39:57 by cacharle ### ########.fr */ +/* Updated: 2020/02/13 04:30:39 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,5 +22,9 @@ TEST_TEAR_DOWN(ft_bzero) TEST(ft_bzero, basic) { + char buf[32] = {'a'}; + ft_bzero(buf, 32); + for (int i = 0; i < 32; i++) + TEST_ASSERT_EQUAL(0x0, buf[i]); } diff --git a/test/src/mem/test_ft_memcpy.c b/test/src/mem/test_ft_memcpy.c index a41ceee..3afe817 100644 --- a/test/src/mem/test_ft_memcpy.c +++ b/test/src/mem/test_ft_memcpy.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/13 03:33:22 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:40:46 by cacharle ### ########.fr */ +/* Updated: 2020/02/13 04:27:55 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,5 +22,26 @@ TEST_TEAR_DOWN(ft_memcpy) TEST(ft_memcpy, basic) { + void *ptr; + unsigned char buf1[32] = {0}; + unsigned char buf2[32] = "bonjour"; + ptr = ft_memcpy(buf1, buf2, 32); + TEST_ASSERT_NOT_NULL(ptr); + TEST_ASSERT_EQUAL_PTR(buf1, ptr); + TEST_ASSERT_EQUAL(0, memcmp(buf1, buf2, 32)); + + ptr = ft_memcpy(buf1, "yo", 3); + TEST_ASSERT_NOT_NULL(ptr); + TEST_ASSERT_EQUAL_PTR(buf1, ptr); + TEST_ASSERT_EQUAL(0, memcmp(buf1, "yo", 3)); + TEST_ASSERT_EQUAL(0, memcmp(buf1 + 3, buf2 + 3, 32 - 3)); + + char saved[32]; + + memcpy(saved, buf2, 32); + ptr = ft_memcpy(buf2, "", 0); + TEST_ASSERT_NOT_NULL(ptr); + TEST_ASSERT_EQUAL_PTR(buf2, ptr); + TEST_ASSERT_EQUAL(0, memcmp(buf2, saved, 32)); } diff --git a/test/src/mem/test_ft_memset.c b/test/src/mem/test_ft_memset.c index 1816dba..7ec5846 100644 --- a/test/src/mem/test_ft_memset.c +++ b/test/src/mem/test_ft_memset.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/13 03:32:28 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:41:27 by cacharle ### ########.fr */ +/* Updated: 2020/02/13 04:21:58 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,5 +22,21 @@ TEST_TEAR_DOWN(ft_memset) TEST(ft_memset, basic) { + int i; + unsigned char buf[32] = {0}; + ft_memset(buf, 0xfa, 32); + for (i = 0; i < 32; i++) + TEST_ASSERT_EQUAL(0xfa, buf[i]); + + ft_memset(buf, 0x00, 15); + for (i = 0; i < 15; i++) + TEST_ASSERT_EQUAL(0x00, buf[i]); + while (i++ < 31) + TEST_ASSERT_EQUAL(0xfa, buf[i]); + + ft_memset(buf, 0x10, 31); + for (int i = 0; i < 31; i++) + TEST_ASSERT_EQUAL(0x10, buf[i]); + TEST_ASSERT_EQUAL(0xfa, buf[31]); } diff --git a/test/src/mem/test_ft_memswap.c b/test/src/mem/test_ft_memswap.c index 4be1637..72c3402 100644 --- a/test/src/mem/test_ft_memswap.c +++ b/test/src/mem/test_ft_memswap.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/13 03:38:27 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:41:46 by cacharle ### ########.fr */ +/* Updated: 2020/02/13 04:18:14 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,5 +22,20 @@ TEST_TEAR_DOWN(ft_memswap) TEST(ft_memswap, basic) { - + char buf1[32] = "bonjour"; + char buf2[32] = "aurevoir"; + ft_memswap(buf1, buf2, 32); + TEST_ASSERT_EQUAL_STRING("bonjour", buf2); + TEST_ASSERT_EQUAL_STRING("aurevoir", buf1); + ft_memswap(buf1, buf2, 3); + TEST_ASSERT_EQUAL_STRING("aurjour", buf2); + TEST_ASSERT_EQUAL_STRING("bonevoir", buf1); + ft_memswap(buf1, buf2, 0); + TEST_ASSERT_EQUAL_STRING("aurjour", buf2); + TEST_ASSERT_EQUAL_STRING("bonevoir", buf1); + int a = 1234567; + int b = 7654321; + ft_memswap(&a, &b, sizeof(int)); + TEST_ASSERT_EQUAL(7654321, a); + TEST_ASSERT_EQUAL(1234567, b); } |
