Allow enabling/disabling tests
This commit is contained in:
63
tests.asm
63
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
|
||||
|
Reference in New Issue
Block a user