Mercurial > projects > ldc
view tests/runminitest.d @ 383:c028fd91b3b0
.hgignore updates. runminitest stores object files separately.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Wed, 23 Jul 2008 18:53:44 +0200 |
parents | d8b165faae9b |
children | 76bf1eaaf4dc |
line wrap: on
line source
module runminitest; import std.file; import std.path; import std.process; import std.stdio; import std.string; int main(string[] args) { string[] bad; string[] badrun; chdir("mini"); if(!exists("obj")) mkdir("obj"); auto contents = listdir(".", "*.d"); foreach(c; contents) { string cmd = format("llvmdc %s -quiet -ofobj/%s", c, getName(c)); foreach(v; args[1..$]) { cmd ~= ' '; cmd ~= v; } writefln(cmd); if (system(cmd) != 0) { bad ~= c; } else if (system("obj/" ~ getName(c)) != 0) { badrun ~= c; } } int ret = 0; if (bad.length > 0 || badrun.length > 0) { writefln(bad.length, '/', contents.length, " of the tests failed to compile:"); foreach(b; bad) { writefln(" ",b); } writefln(badrun.length, '/', contents.length - bad.length, " of the compiled tests failed to run:"); foreach(b; badrun) { writefln(" ",b); } ret = 1; } writefln(contents.length - bad.length - badrun.length, '/', contents.length, " of the tests passed"); return ret; }