diff --git a/tests.asm b/tests.asm index 1f8338e..bda58d7 100644 --- a/tests.asm +++ b/tests.asm @@ -18,6 +18,20 @@ extern strcpy extern strcat section .rodata + PRINT_nums equ 1 + PRINT_strs equ 1 + TEST_min equ 1 ;includes minu + TEST_max equ 1 ;includes maxu + TEST_print equ 1 + TEST_puts equ 1 + TEST_strlen equ 1 + TEST_islower equ 1 + TEST_isupper equ 1 + TEST_strcpy equ 1 + TEST_strcat equ 1 + TEST_tolower equ 1 + TEST_toupper equ 1 + num1 dq 13 num2 dq -25 num3 equ 60 @@ -58,6 +72,7 @@ main: push rbp mov rbp, rsp +%IF PRINT_nums ; PRINT: num1, num2, num3 xor rax, rax lea rdi, [rel msgNums] @@ -65,7 +80,8 @@ main: mov rdx, [rel num2] mov rcx, num3 call printf - +%ENDIF +%IF TEST_min ; TEST: min() mov rdi, [rel num1] mov rsi, [rel num2] @@ -90,7 +106,8 @@ main: xor rax, rax lea rdi, [rel msgMin3] call printf - +%ENDIF +%IF TEST_max ; TEST: max() mov rdi, [rel num1] mov rsi, [rel num2] @@ -115,14 +132,18 @@ main: xor rax, rax lea rdi, [rel msgMax3] call printf - +%ENDIF +%IF TEST_print ; TEST: print() lea rdi, [rel msgPrint] call print +%ENDIF +%IF TEST_puts ; TEST: puts() lea rdi, [rel msgPuts] call puts - +%ENDIF +%IF PRINT_strs ; PRINT: str1, str2, str3 xor rax, rax lea rdi, [rel msgStrings] @@ -130,7 +151,8 @@ main: lea rdx, [rel str2] lea rcx, [rel str3] call printf - +%ENDIF +%IF TEST_strlen ; TEST: strlen() lea rdi, [rel str1] call strlen @@ -145,7 +167,8 @@ main: xor rax, rax lea rdi, [rel msgStrlen2] call printf - +%ENDIF +%IF TEST_islower ; TEST: islower() lea rdi, [rel str1] call islower @@ -160,7 +183,8 @@ main: xor rax, rax lea rdi, [rel msgIslower2] call printf - +%ENDIF +%IF TEST_isupper ; TEST: isupper() lea rdi, [rel str1] call isupper @@ -175,7 +199,8 @@ main: xor rax, rax lea rdi, [rel msgIsupper2] call printf - +%ENDIF +%IF TEST_strcpy ; TEST: strcpy() lea rdi, [rel str1Copy] lea rsi, [rel str1] @@ -184,7 +209,8 @@ main: lea rdi, [rel msgStrcpy] lea rsi, [rel str1Copy] call printf - +%ENDIF +%IF TEST_strcat ; TEST: strcat() lea rdi, [rel str1Copy] lea rsi, [rel str3] @@ -193,7 +219,9 @@ main: lea rdi, [rel msgStrcat] lea rsi, [rel str1Copy] call printf - +%ENDIF +%IF TEST_strcat + %IF TEST_strlen ; TEST: strlen() for str1Copy lea rdi, [rel str1Copy] call strlen @@ -201,7 +229,9 @@ main: xor rax, rax lea rdi, [rel msgStrlen3] call printf - + %ENDIF +%ENDIF +%IF TEST_tolower ; TEST: tolower(str1[0]) lea rdi, [rel str1] call tolower @@ -216,7 +246,8 @@ main: xor rax, rax lea rdi, [rel msgTolower2] call printf - +%ENDIF +%IF TEST_toupper ; TEST: toupper(str1[0]) lea rdi, [rel str1] call toupper @@ -231,7 +262,8 @@ main: xor rax, rax lea rdi, [rel msgToupper2] call printf - +%ENDIF +%IF TEST_tolower ; TEST: tolower: entire str1Copy lea rdi, [rel str1Copy] call strlen @@ -252,7 +284,8 @@ main: lea rdi, [rel msgTolower3] lea rsi, [rel str1Copy] call printf - +%ENDIF +%IF TEST_toupper ; TEST: toupper: entire str1Copy lea rdi, [rel str1Copy] call strlen @@ -273,5 +306,7 @@ main: lea rdi, [rel msgToupper3] lea rsi, [rel str1Copy] call printf +%ENDIF + leave ret