aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-10-21 15:58:12 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-10-21 15:58:12 +0200
commitca5071168115e5cd272978e13ddb9fbb1365afbc (patch)
tree121bc50df693b70771a17d9b364da4d3896c9344
parentd2fac61b27d827dc81a6ed867ec92dfad14a3385 (diff)
downloadlibasm_test-ca5071168115e5cd272978e13ddb9fbb1365afbc.tar.gz
libasm_test-ca5071168115e5cd272978e13ddb9fbb1365afbc.tar.bz2
libasm_test-ca5071168115e5cd272978e13ddb9fbb1365afbc.zip
WIP: Linux compatibility
-rw-r--r--Makefile65
-rw-r--r--functions_reference/ref_ft_atoi_base.c6
-rw-r--r--functions_reference/ref_ft_list_remove_if.c6
-rw-r--r--functions_reference/ref_ft_list_size.c6
-rw-r--r--functions_reference/ref_ft_list_sort.c6
-rw-r--r--libasm_test.h16
-rw-r--r--main.c6
7 files changed, 73 insertions, 38 deletions
diff --git a/Makefile b/Makefile
index 051b947..206544b 100644
--- a/Makefile
+++ b/Makefile
@@ -6,69 +6,74 @@
# By: cacharle <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2020/02/08 03:06:59 by cacharle #+# #+# #
-# Updated: 2020/04/12 20:12:48 by charles ### ########.fr #
+# Updated: 2020/10/21 15:57:34 by charles ### ########.fr #
# #
# **************************************************************************** #
-RM = rm -f
-UNAME = $(shell uname)
-
-ifeq ($(UNAME), Linux)
- PYTHON = python3.7
-else
- PYTHON = python3
-endif
+LIBASM_PATH = ../pg
-LIBASM_PATH = ../libasm
+RM = rm -f
+PYTHON = python3
CC = gcc
-CCFLAGS = -I. -Wall -Wextra
+CCFLAGS = -I. -Wall -Wextra -Wno-nonnull
LDFLAGS = -L$(LIBASM_PATH) -lasm
NAME = runtest
SRC = main.c \
helper.c \
- helper_list.c \
test/ft_strlen_test.c \
test/ft_strcpy_test.c \
test/ft_strcmp_test.c \
test/ft_write_test.c \
test/ft_read_test.c \
test/ft_strdup_test.c \
- test/ft_atoi_base_test.c \
- test/ft_list_size_test.c \
- test/ft_list_push_front_test.c \
- test/ft_list_sort_test.c \
- test/ft_list_remove_if_test.c \
- functions_reference/ref_ft_atoi_base.c \
- functions_reference/ref_ft_list_size.c \
- functions_reference/ref_ft_list_push_front.c \
- functions_reference/ref_ft_list_sort.c \
- functions_reference/ref_ft_list_remove_if.c
+
+SRCBONUS = helper_list.c \
+ test/ft_atoi_base_test.c \
+ test/ft_list_size_test.c \
+ test/ft_list_push_front_test.c \
+ test/ft_list_sort_test.c \
+ test/ft_list_remove_if_test.c \
+ functions_reference/ref_ft_atoi_base.c \
+ functions_reference/ref_ft_list_size.c \
+ functions_reference/ref_ft_list_push_front.c \
+ functions_reference/ref_ft_list_sort.c \
+ functions_reference/ref_ft_list_remove_if.c
+
+ifeq ($(LIBASM_TEST_BONUS),yes)
+ SRC += $(SRCBONUS)
+ CCFLAGS += -D LIBASM_TEST_BONUS
+endif
+
+# CCFLAGS += -fPIE -fPIC
OBJ = $(SRC:.c=.o)
+OBJBONUS = $(SRCBONUS:.c=.o)
+OBJBONUS += $(OBJ)
+
run: pretty
-runbonus: prettybonus
+# runbonus: prettybonus
-prettybonus: allbonus pretty
+# prettybonus: allbonus pretty
pretty: all
./$(NAME) 2> /dev/null | $(PYTHON) prettier.py
-run_rawbonus: allbonus run_raw
+# run_rawbonus: allbonus run_raw
run_raw: all
./$(NAME) 2> /dev/null
-run_debugbonus: allbonus run_debug
+# run_debugbonus: allbonus run_debug
run_debug: all
./$(NAME)
all: $(NAME)
-allbonus: CCFLAGS += -D LIBASM_TEST_BONUS
-allbonus: all
+# allbonus:
+# allbonus: all
$(NAME): libasm_all $(OBJ)
- $(CC) -o $@ $(OBJ) $(LDFLAGS)
+ $(CC) -fPIE -fPIC -o $@ $(OBJ) $(LDFLAGS)
%.o: %.c
$(CC) $(CCFLAGS) -c -o $@ $<
@@ -87,3 +92,5 @@ libasm_all:
libasm_fclean:
make -C $(LIBASM_PATH) fclean
+
+.PHONY: run pretty run_raw run_debug all clean fclean re libasm_all libasm_fclean
diff --git a/functions_reference/ref_ft_atoi_base.c b/functions_reference/ref_ft_atoi_base.c
index 1599163..52dd92c 100644
--- a/functions_reference/ref_ft_atoi_base.c
+++ b/functions_reference/ref_ft_atoi_base.c
@@ -6,13 +6,15 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 03:20:16 by cacharle #+# #+# */
-/* Updated: 2020/04/13 15:00:33 by charles ### ########.fr */
+/* Updated: 2020/10/21 15:29:23 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include <ctype.h>
#include "libasm_test.h"
+#ifdef LIBASM_TEST_BONUS
+
static
bool valid_base(char *base)
{
@@ -54,3 +56,5 @@ int ref_ft_atoi_base(char *str, char *base)
}
return is_negative ? -nb : nb;
}
+
+#endif
diff --git a/functions_reference/ref_ft_list_remove_if.c b/functions_reference/ref_ft_list_remove_if.c
index 90bd1cc..c7a584f 100644
--- a/functions_reference/ref_ft_list_remove_if.c
+++ b/functions_reference/ref_ft_list_remove_if.c
@@ -6,12 +6,14 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 03:20:03 by cacharle #+# #+# */
-/* Updated: 2020/04/13 15:01:02 by charles ### ########.fr */
+/* Updated: 2020/10/21 15:28:59 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "libasm_test.h"
+#ifdef LIBASM_TEST_BONUS
+
void ref_ft_list_remove_if(t_list **begin_list, void *data_ref,
int (*cmp)(), void (*free_fct)(void *))
{
@@ -30,3 +32,5 @@ void ref_ft_list_remove_if(t_list **begin_list, void *data_ref,
*begin_list = saved_next;
ref_ft_list_remove_if(begin_list, data_ref, cmp, free_fct);
}
+
+#endif
diff --git a/functions_reference/ref_ft_list_size.c b/functions_reference/ref_ft_list_size.c
index c403732..a76a472 100644
--- a/functions_reference/ref_ft_list_size.c
+++ b/functions_reference/ref_ft_list_size.c
@@ -6,12 +6,14 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 03:20:11 by cacharle #+# #+# */
-/* Updated: 2020/04/13 15:00:42 by charles ### ########.fr */
+/* Updated: 2020/10/21 15:28:41 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "libasm_test.h"
+#ifdef LIBASM_TEST_BONUS
+
int ref_ft_list_size(t_list *begin_list)
{
int counter;
@@ -24,3 +26,5 @@ int ref_ft_list_size(t_list *begin_list)
}
return counter;
}
+
+#endif
diff --git a/functions_reference/ref_ft_list_sort.c b/functions_reference/ref_ft_list_sort.c
index d203231..08914b3 100644
--- a/functions_reference/ref_ft_list_sort.c
+++ b/functions_reference/ref_ft_list_sort.c
@@ -6,12 +6,14 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 02:49:28 by cacharle #+# #+# */
-/* Updated: 2020/04/13 15:00:52 by charles ### ########.fr */
+/* Updated: 2020/10/21 15:28:30 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "libasm_test.h"
+#ifdef LIBASM_TEST_BONUS
+
static
t_list* merge_sorted_list(t_list* l1, t_list* l2, int (*cmp)(void *, void*))
{
@@ -57,3 +59,5 @@ void ref_ft_list_sort(t_list **begin_list, int (*cmp)(void *, void*))
ref_ft_list_sort(&middle, cmp);
*begin_list = merge_sorted_list(*begin_list, middle, cmp);
}
+
+#endif
diff --git a/libasm_test.h b/libasm_test.h
index 852a27a..82b675a 100644
--- a/libasm_test.h
+++ b/libasm_test.h
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 03:07:19 by cacharle #+# #+# */
-/* Updated: 2020/10/06 15:11:17 by cacharle ### ########.fr */
+/* Updated: 2020/10/21 15:37:33 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -41,6 +41,7 @@ char* ft_strdup(const char *str);
/*
* bonus
*/
+# ifdef LIBASM_TEST_BONUS
int ft_atoi_base(const char *str, const char *base);
typedef struct s_list
@@ -54,6 +55,7 @@ int ft_list_size(t_list *begin_list);
void ft_list_sort(t_list **begin_list, int (*cmp)());
void ft_list_remove_if(t_list **begin_list, void *data_ref,
int (*cmp)(), void (*free_fct)(void *));
+# endif
/*
* test_functions
@@ -65,11 +67,13 @@ void ft_write_test(void);
void ft_read_test(void);
void ft_strdup_test(void);
+# ifdef LIBASM_TEST_BONUS
void ft_atoi_base_test(void);
void ft_list_push_front_test(void);
void ft_list_size_test(void);
void ft_list_sort_test(void);
void ft_list_remove_if_test(void);
+# endif
/*
@@ -78,6 +82,7 @@ void ft_list_remove_if_test(void);
void print_ok(void);
void print_signaled_ko(void);
+# ifdef LIBASM_TEST_BONUS
int* create_data_elem(int data);
t_list* create_elem(int data);
t_list* list_from_format(char *fmt);
@@ -85,22 +90,25 @@ t_list* list_dup(t_list *list);
int list_cmp(t_list *l1, t_list *l2);
void list_print(t_list *list);
void list_destroy(t_list *list);
+# endif
/*
* function of reference
*/
+# ifdef LIBASM_TEST_BONUS
int ref_ft_atoi_base(char *str, char *base);
void ref_ft_list_push_front(t_list **begin_list, void *data);
int ref_ft_list_size(t_list *begin_list);
void ref_ft_list_sort(t_list **begin_list, int (*cmp)());
void ref_ft_list_remove_if(t_list **begin_list, void *data_ref,
int (*cmp)(), void (*free_fct)(void *));
+# endif
/*
* segfault tester
*/
-int pid;
-bool signaled;
+extern int pid;
+extern bool signaled;
# define TEST_SEGFAULT(x) do { \
if ((pid = fork()) < 0) \
@@ -114,7 +122,7 @@ bool signaled;
} \
} while(0)
-char *test_name;
+extern char *test_name;
# define TEST_ASM_FUNCTION(x) do { \
TEST_SEGFAULT(x); \
diff --git a/main.c b/main.c
index 54326d7..9e4afa7 100644
--- a/main.c
+++ b/main.c
@@ -6,12 +6,16 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/08 03:06:45 by cacharle #+# #+# */
-/* Updated: 2020/10/06 15:04:34 by cacharle ### ########.fr */
+/* Updated: 2020/10/21 15:37:28 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "libasm_test.h"
+int pid;
+bool signaled;
+char *test_name;
+
int main(void)
{
ft_strlen_test();