summaryrefslogtreecommitdiffstats
path: root/test cases/d/6 unittest/app.d
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/d/6 unittest/app.d')
-rw-r--r--test cases/d/6 unittest/app.d38
1 files changed, 38 insertions, 0 deletions
diff --git a/test cases/d/6 unittest/app.d b/test cases/d/6 unittest/app.d
new file mode 100644
index 0000000..71c6414
--- /dev/null
+++ b/test cases/d/6 unittest/app.d
@@ -0,0 +1,38 @@
+
+import std.stdio;
+
+uint getFour ()
+{
+ auto getTwo ()
+ {
+ return 1 + 1;
+ }
+
+ return getTwo () + getTwo ();
+}
+
+void main ()
+{
+ import core.stdc.stdlib : exit;
+
+ writeln ("Four: ", getFour ());
+ exit (4);
+}
+
+unittest
+{
+ writeln ("TEST");
+ import core.stdc.stdlib : exit;
+ import second_unit;
+
+ assert (getFour () > 2);
+ assert (getFour () == 4);
+
+ // this is a regression test for https://github.com/mesonbuild/meson/issues/3337
+ secondModuleTestFunc ();
+
+ // we explicitly terminate here to give the unittest program a different exit
+ // code than the main application has.
+ // (this prevents the regular main() from being executed)
+ exit (0);
+}