3 dirname
= File
.dirname(__FILE__
)
4 require "#{dirname}/test"
5 require "#{dirname}/test_language_version"
6 require "#{dirname}/test_parser"
7 require "#{dirname}/test_validator"
16 add_test
'architectures', '../bin/voodooc --architecture help',
17 `cat architectures.out`
19 add_test
'check', '../bin/voodooc --check many-args-tail.voo', "OK\n"
21 add_test
'check-c', '../bin/voodooc -c many-args.voo', "OK\n"
23 add_test('check-errors', '../bin/voodooc -c errors.voo', '',
24 :expected_status => 1, :expected_errors => `cat errors.err`)
26 add_test
'features', '../bin/voodooc -a i386 --features', `cat features.out`
28 add_test
'help', '../bin/voodooc --help', `cat help.out`
30 add_test('no-input-files',
33 :expected_status => 128,
34 :expected_errors => `cat no-input-files.err`)
36 add_test
'version', '../bin/voodooc --version',
37 "Voodoo Compiler version #{`cat ../VERSION`}"
39 add_test2
'hello', "Hello, world!\n"
41 add_test2
'tail-calls', ''
43 add_test1
'auto-bytes'
45 add_test1
'auto-words'
59 add_test
'func', 'LD_LIBRARY_PATH=$PWD ./func', "3 + 4 = 7\n"
63 add_test2
'fact', "479001600\n"
73 add_test1
'many-args-tail'
75 add_test1
'many-locals'
85 add_test1
'restore-frame'
87 add_test1
'restore-locals'
91 add_test1
'save-frame-and-locals'
101 add_test
'var', 'LD_LIBRARY_PATH=$PWD ./var', "18 + 42 = 60\n18 + 9 = 27\n"
107 printf
'test_output_name...'
108 if system("$RUBY test_output_name.rb")
115 "#{$VOODOOC} -o errors.o errors.voo",
117 :expected_status => 1,
118 :expected_errors => `cat errors.err`
120 add_test
'substitute-number',
121 './substitute-number',
123 "#{Voodoo::CodeGenerator::get_generator.features[:'bytes-per-word']}\n"
127 exit report_test_results