Implemented auto-bytes and auto-words for mips
[voodoo-lang.git] / test / test
blob76192325ee18466bedc982fe73e9933d300ce6d6
1 #! /usr/bin/env ruby
3 require File.dirname(__FILE__) + '/test'
4 require 'test_language_version'
5 require 'test_parser'
6 require 'test_validator'
7 require 'thread'
9 test_language_version
11 test_validator
13 test_parser
15 add_test 'architectures', '../bin/voodooc --architecture help',
16 `cat architectures.out`
18 add_test 'features', '../bin/voodooc -a i386 --features', `cat features.out`
20 add_test 'help', '../bin/voodooc --help', `cat help.out`
22 add_test('no-input-files',
23 '../bin/voodooc',
24 '',
25 :expected_status => 128,
26 :expected_errors => `cat no-input-files.err`)
28 add_test 'version', '../bin/voodooc --version',
29 "Voodoo Compiler version #{`cat ../VERSION`}"
31 add_test2 'hello', "Hello, world!\n"
33 add_test2 'tail-calls', ''
35 add_test1 'auto-bytes'
37 add_test1 'auto-words'
39 add_test1 'bytes'
41 add_test1 'call'
43 add_test1 'at'
45 add_test1 'block'
47 add_test1 'else-if'
49 add_test1 'if'
51 add_test1 'goto'
53 add_test2 'fact', "479001600\n"
55 add_test1 'bitwise'
57 add_test1 'plusminus'
59 add_test1 'many-vars'
61 add_test1 'mul'
63 add_test1 'div'
65 add_test1 'mod'
67 add_test1 'raw'
69 add_test1 'rotate'
71 add_test1 'set-at'
73 add_test1 'set-byte'
75 add_test1 'set-word'
77 add_test1 'shift'
79 add_test1 'vtable'
81 add_test1 'gcd'
83 printf 'test_output_name...'
84 increment_errors unless system("$RUBY test_output_name.rb")
86 add_test 'errors',
87 "#{$VOODOOC} -o errors.o errors.voo",
88 '',
89 :expected_status => 1,
90 :expected_errors => `cat errors.err`
92 run_tests $tests, 4
94 exit report_test_results