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