better tests
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,6 +7,8 @@ eaxcc
|
||||
.gdb_history
|
||||
*.pp
|
||||
library/tommyds/
|
||||
tmp-*
|
||||
.cmdtest-filter
|
||||
|
||||
# temp
|
||||
test_me_please
|
||||
|
3
Makefile
3
Makefile
@ -73,7 +73,8 @@ test: ${OUT}
|
||||
#${WRAP} ./${OUT} debug/artimetrics.eax
|
||||
#@echo -e "\033[31;1m --- ERROR TESTING BEGINS BELOW ---\033[0m"
|
||||
#debug/error_test.sh
|
||||
./${OUT} debug/heyo_world.eax
|
||||
#./${OUT} debug/heyo_world.eax
|
||||
ORIGIN="$$(realpath .)" PATH="$$(realpath .):${PATH}" cmdtest
|
||||
|
||||
clean:
|
||||
-rm ${OUT} ${OBJECT} ${GENOBJECT} ${GENSOURCE}
|
||||
|
@ -1,5 +0,0 @@
|
||||
program main
|
||||
u8 a
|
||||
u8 a
|
||||
begin
|
||||
end program
|
@ -1,7 +0,0 @@
|
||||
program a
|
||||
begin
|
||||
end program
|
||||
|
||||
program b
|
||||
begin
|
||||
end program
|
@ -1,9 +0,0 @@
|
||||
./eaxhla debug/unclosed_program.eax
|
||||
./eaxhla debug/unknown_instruction.eax
|
||||
./eaxhla debug/multi_error.eax
|
||||
./eaxhla debug/unclosed_comment.eax
|
||||
./eaxhla debug/unclosed_artimetric.eax
|
||||
./eaxhla debug/double_declare.eax
|
||||
./eaxhla debug/empty.eax
|
||||
./eaxhla debug/double_program.eax
|
||||
./eaxhla debug/overflows.eax
|
@ -1,11 +0,0 @@
|
||||
program main
|
||||
k8 kek
|
||||
begin
|
||||
wigglecall func
|
||||
xor $rsp rsp
|
||||
xor rsp rsp
|
||||
poke rsp
|
||||
xor rsp rsp
|
||||
xor rsp rsp
|
||||
xor rsp rsp
|
||||
end program
|
@ -1,6 +0,0 @@
|
||||
program main
|
||||
u8 a = 10
|
||||
u8 b = 10000
|
||||
u8 c = -200
|
||||
begin
|
||||
end program
|
@ -1,2 +0,0 @@
|
||||
program a
|
||||
u8 var = [
|
@ -1,4 +0,0 @@
|
||||
/*
|
||||
reeeeeeee
|
||||
reeeeeeeee
|
||||
reeeeee
|
@ -1,5 +0,0 @@
|
||||
unix
|
||||
program main
|
||||
begin
|
||||
exit 1
|
||||
end rpogram
|
@ -1,8 +0,0 @@
|
||||
procedure a
|
||||
nop
|
||||
end procedure
|
||||
|
||||
unix
|
||||
program main
|
||||
wigglecall a
|
||||
end program
|
145
test/CMDTEST_eaxhla.rb
Normal file
145
test/CMDTEST_eaxhla.rb
Normal file
@ -0,0 +1,145 @@
|
||||
$default_output_file = "test_me_please"
|
||||
|
||||
class CMDTEST_error_batch < Cmdtest::Testcase
|
||||
def test_unknown_instruction
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
procedure a
|
||||
nop
|
||||
end procedure
|
||||
|
||||
unix
|
||||
program main
|
||||
wigglecall a
|
||||
end program
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_unclosed_comment
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
/*
|
||||
reeeeeeee
|
||||
reeeeeeeee
|
||||
reeeeee
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_unclosed_artimetric
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
program a
|
||||
u8 var = [
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_unclosed_program
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
unix
|
||||
program main
|
||||
begin
|
||||
exit 1
|
||||
end rpogram
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_double_declare
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
program main
|
||||
u8 a
|
||||
u8 a
|
||||
begin
|
||||
end program
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_double_program
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
program a
|
||||
begin
|
||||
end program
|
||||
|
||||
program b
|
||||
begin
|
||||
end program
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_multi_error
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
program main
|
||||
k8 kek
|
||||
begin
|
||||
wigglecall func
|
||||
xor $rsp rsp
|
||||
xor rsp rsp
|
||||
poke rsp
|
||||
xor rsp rsp
|
||||
xor rsp rsp
|
||||
xor rsp rsp
|
||||
end program
|
||||
HEREDOC
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+\n(.|\n)+/m
|
||||
exit_status 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class CMDTEST_warning_batch < Cmdtest::Testcase
|
||||
def test_overflows
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
program main
|
||||
u8 a = 10
|
||||
u8 b = 10000
|
||||
u8 c = -200
|
||||
begin
|
||||
end program
|
||||
HEREDOC
|
||||
|
||||
ignore_file $default_output_file
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
end
|
||||
end
|
||||
|
||||
def test_empty
|
||||
create_file "input.eax", <<-HEREDOC
|
||||
HEREDOC
|
||||
|
||||
ignore_file $default_output_file
|
||||
|
||||
cmd "eaxhla input.eax" do
|
||||
stderr_equal /.+/
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user