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('export-after-use', '../bin/voodooc export-after-use.voo', '',
31 :expected_status => 1, :expected_errors => `cat export-after-use.err`)
33 add_test('import-after-use', '../bin/voodooc import-after-use.voo', '',
34 :expected_status => 1, :expected_errors => `cat import-after-use.err`)
36 add_test('no-input-files',
39 :expected_status => 128,
40 :expected_errors => `cat no-input-files.err`)
42 add_test
'version', '../bin/voodooc --version',
43 "Voodoo Compiler version #{`cat ../VERSION`}"
45 add_test2
'hello', "Hello, world!\n"
47 add_test2
'tail-calls', ''
51 add_test1
'auto-bytes'
53 add_test1
'auto-words'
67 add_test
'func', 'LD_LIBRARY_PATH=$PWD ./func', "3 + 4 = 7\n"
71 add_test2
'fact', "479001600\n"
81 add_test1
'many-args-tail'
83 add_test1
'many-locals'
93 add_test1
'restore-frame'
95 add_test1
'restore-locals'
99 add_test1
'save-frame-and-locals'
111 add_test
'var', 'LD_LIBRARY_PATH=$PWD ./var', "42\n12\n67\n-19\n159\n"
117 printf
'test_output_name...'
118 if system("$RUBY test_output_name.rb")
125 "#{$VOODOOC} -o errors.o errors.voo",
127 :expected_status => 1,
128 :expected_errors => `cat errors.err`
130 add_test
'substitute-number',
131 './substitute-number',
133 "#{Voodoo::CodeGenerator::get_generator.features[:'bytes-per-word']}\n"
137 exit report_test_results