Allow enabling/disabling tests

This commit is contained in:
2025-06-23 17:16:24 +02:00
parent 84264e7f5a
commit 63552b3c64

View File

@ -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