aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-02-13 04:40:08 +0100
committerCharles <sircharlesaze@gmail.com>2020-02-13 05:04:56 +0100
commita23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a (patch)
treeed61e8a72339b89e9fd46717f8422fc9f33b6d7d
parentb1ded109567f20ccd6bbe547618149abde7cd5b2 (diff)
downloadlibft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.tar.gz
libft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.tar.bz2
libft-a23c6f76ddd6d6ba4d5163ebbbcf290202a1b36a.zip
filling mem tests, testing readme doc
-rw-r--r--Makefile2
-rw-r--r--README.md171
-rwxr-xr-xscript/generate_boilerplate_test.sh9
-rw-r--r--src/mem/ft_memchr.c2
-rw-r--r--test/src/mem/test_ft_bzero.c6
-rw-r--r--test/src/mem/test_ft_memcpy.c23
-rw-r--r--test/src/mem/test_ft_memset.c18
-rw-r--r--test/src/mem/test_ft_memswap.c19
8 files changed, 242 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 8cea428..5a7d8a9 100644
--- a/Makefile
+++ b/Makefile
@@ -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 #
# #
# **************************************************************************** #
diff --git a/README.md b/README.md
index abbd1a9..5731564 100644
--- a/README.md
+++ b/README.md
@@ -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);
}