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