converted more tests to new executable support
[antimony.git] / src / test / test_exe.sb
blob0326e61e74462e22fc02305e799acc313a9f282e
1 # Change to source directory.
2 chdir "../src/test"
4 # Compile program.
5 var dir = (tempdir)
6 var src = "xyzzy"
7 var exe = path_join @dir @src
8 var env = "env"
9 var ld_library_path = "LD_LIBRARY_PATH=../../lib"
10 var pid = (fork)
11 if (eq @pid 0) {
12   # Child process.
13   var program = "../../bin/transmute"
14   var args = auto-words 10
15   set-word args 0 @env
16   set-word args 1 @ld_library_path
17   set-word args 2 program
18   set-word args 3 "-t"
19   set-word args 4 "exe"
20   set-word args 5 "-o"
21   set-word args 6 @exe
22   set-word args 7 "-L"
23   set-word args 8 "../../lib"
24   set-word args 9 @src
25   execvp (get-word args 0) (array 10 args)
26 } else {
27   # Parent process.
28   var status = auto-words 1
29   waitpid @pid status 0
30   if (ne (and (shr @status 8) 255) 0) {
31     error "transmute"
32   }
35 var args = auto-words 1
36 set-word @args 0 @env
37 set-word @args 1 @ld_library_path
38 set-word @args 2 @exe
39 execvp @env (array 3 @args)
40 return -1