File: compile.bs

package info (click to toggle)
storm-lang 0.7.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 51,836 kB
  • sloc: ansic: 261,420; cpp: 138,870; sh: 14,877; perl: 9,846; python: 2,525; lisp: 2,504; asm: 860; makefile: 678; pascal: 70; java: 52; xml: 37; awk: 12
file content (28 lines) | stat: -rw-r--r-- 637 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use progvis;
use test;
use lang:bs:macro;
use core:io;

private Url[] findAllFiles(Url path) {
	Url[] result;
	for (child in path.children) {
		if (child.dir) {
			result.append(findAllFiles(child));
		} else if (!child.title.endsWith("_error")) {
			if (child.ext != "txt")
				result << child;
		}
	}
	result;
}

test CompileC {
	unless (url = examplesDir())
		abort;

	// TODO: Should we compile *all* examples? That is way more expensive...
	for (file in findAllFiles(url / "test")) {
		check program:Program:load(file) no throw;
		// TODO: We could also try to run the program, just to make sure that we don't crash instantly.
	}
}