annotate tests/run.d @ 1:2168f4cb73f1

First push
author johnsen@johnsen-desktop
date Fri, 18 Apr 2008 02:01:38 +0200
parents
children 59bfbaf8847f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
1 module run.d;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
2
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
3 import tango.io.Stdout,
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
4 tango.io.FilePath,
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
5 tango.sys.Process;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
6
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
7
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
8 char[] prog = "./Dang";
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
9
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
10 void main(char[][] args)
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
11 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
12 auto cPath = FilePath("tests");
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
13
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
14 int succes, failure;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
15
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
16 foreach( path ; cPath.toList((FilePath path, bool isFolder){return isFolder;}))
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
17 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
18 Stdout(path.name)(":").newline;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
19 foreach( p ; path.toList((FilePath path, bool isFolder)
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
20 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
21 if(path.ext == "d" && path.name[0] != '.')
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
22 return true;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
23 return false;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
24 }))
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
25 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
26 auto test = new Test(p);
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
27 bool result = test.run();
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
28 if(result)
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
29 succes++;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
30 else
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
31 failure++;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
32 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
33 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
34
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
35 Stdout().newline.newline()
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
36 ("Result:").newline()
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
37 (" - Succes: ")(succes).newline()
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
38 (" - Failure: ")(failure).newline;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
39 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
40
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
41 class Test
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
42 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
43 FilePath target;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
44 public this(FilePath target)
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
45 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
46 this.target = target;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
47 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
48
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
49 public bool run()
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
50 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
51 auto process = new Process(prog,target.path~target.file);
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
52
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
53 Stdout(" - ")(target.file)(".. ");
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
54
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
55 process.execute;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
56
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
57 auto result = process.wait;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
58 if(result.status == 0)
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
59 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
60 Stdout("SUCCES").newline;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
61 return true;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
62 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
63 else
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
64 {
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
65 Stdout("FAILURE").newline;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
66 return false;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
67 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
68 }
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
69 }