Allow set to assign to at-expressions
[voodoo-lang.git] / test / test
blob535d733fc279bb5612618ae01702ace4befc8639
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 'bytes'
37 add_test1 'call'
39 add_test1 'at'
41 add_test1 'block'
43 add_test1 'else-if'
45 add_test1 'if'
47 add_test1 'goto'
49 add_test2 'fact', "479001600\n"
51 add_test1 'bitwise'
53 add_test1 'plusminus'
55 add_test1 'many-vars'
57 add_test1 'mul'
59 add_test1 'div'
61 add_test1 'mod'
63 add_test1 'raw'
65 add_test1 'rotate'
67 add_test1 'set-at'
69 add_test1 'set-byte'
71 add_test1 'set-word'
73 add_test1 'shift'
75 add_test1 'vtable'
77 add_test1 'gcd'
79 printf 'test_output_name...'
80 increment_errors unless system("$RUBY test_output_name.rb")
82 add_test 'errors',
83 "#{$VOODOOC} -o errors.o errors.voo",
84 '',
85 :expected_status => 1,
86 :expected_errors => `cat errors.err`
88 run_tests $tests, 4
90 exit report_test_results