提交 8e7e1dd4 创建 作者: Austin Clements's avatar Austin Clements

usertests: Only run tests named on the command line

If no tests are named, run them all, like before.
上级 7737297d
...@@ -1741,6 +1741,24 @@ unmappedtest(void) ...@@ -1741,6 +1741,24 @@ unmappedtest(void)
printf("unmappedtest ok\n"); printf("unmappedtest ok\n");
} }
static int nenabled;
static char **enabled;
void
run_test(const char *name, void (*test)())
{
if (!nenabled) {
test();
} else {
for (int i = 0; i < nenabled; i++) {
if (strcmp(name, enabled[i]) == 0) {
test();
break;
}
}
}
}
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
...@@ -1752,47 +1770,52 @@ main(int argc, char *argv[]) ...@@ -1752,47 +1770,52 @@ main(int argc, char *argv[])
} }
close(open("usertests.ran", O_CREATE)); close(open("usertests.ran", O_CREATE));
unopentest(); nenabled = argc - 1;
bigargtest(); enabled = argv + 1;
bsstest();
sbrktest(); #define TEST(name) run_test(#name, name)
TEST(unopentest);
TEST(bigargtest);
TEST(bsstest);
TEST(sbrktest);
// we should be able to grow a user process to consume all phys mem // we should be able to grow a user process to consume all phys mem
unmappedtest(); TEST(unmappedtest);
validatetest(); TEST(validatetest);
opentest(); TEST(opentest);
writetest(); TEST(writetest);
writetest1(); TEST(writetest1);
createtest(); TEST(createtest);
preads(); TEST(preads);
// mem(); // TEST(mem);
pipe1(); TEST(pipe1);
preempt(); TEST(preempt);
exitwait(); TEST(exitwait);
rmdot(); TEST(rmdot);
thirteen(); TEST(thirteen);
longname(); TEST(longname);
bigfile(); TEST(bigfile);
subdir(); TEST(subdir);
concreate(); TEST(concreate);
linktest(); TEST(linktest);
unlinkread(); TEST(unlinkread);
createdelete(); TEST(createdelete);
twofiles(); TEST(twofiles);
sharedfd(); TEST(sharedfd);
dirfile(); TEST(dirfile);
iref(); TEST(iref);
forktest(); TEST(forktest);
bigdir(); // slow TEST(bigdir); // slow
tls_test(); TEST(tls_test);
thrtest(); TEST(thrtest);
ftabletest(); TEST(ftabletest);
exectest(); TEST(exectest);
exit(); exit();
} }
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论