summaryrefslogtreecommitdiffstats
path: root/test cases/d/6 unittest
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/d/6 unittest')
-rw-r--r--test cases/d/6 unittest/app.d38
-rw-r--r--test cases/d/6 unittest/meson.build8
-rw-r--r--test cases/d/6 unittest/second_unit.d10
-rw-r--r--test cases/d/6 unittest/test.json6
4 files changed, 62 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);
+}
diff --git a/test cases/d/6 unittest/meson.build b/test cases/d/6 unittest/meson.build
new file mode 100644
index 0000000..49a0700
--- /dev/null
+++ b/test cases/d/6 unittest/meson.build
@@ -0,0 +1,8 @@
+project('D Unittests', 'd')
+
+e = executable('dapp', ['app.d', 'second_unit.d'], install : true)
+test('dapp_run', e, should_fail: true)
+
+e_test = executable('dapp_test', ['app.d', 'second_unit.d'],
+ d_unittest: true)
+test('dapp_test', e_test)
diff --git a/test cases/d/6 unittest/second_unit.d b/test cases/d/6 unittest/second_unit.d
new file mode 100644
index 0000000..fdb62a9
--- /dev/null
+++ b/test cases/d/6 unittest/second_unit.d
@@ -0,0 +1,10 @@
+
+void secondModuleTestFunc ()
+{
+ import std.stdio : writeln;
+
+ version (unittest)
+ writeln ("Hello!");
+ else
+ assert (0);
+}
diff --git a/test cases/d/6 unittest/test.json b/test cases/d/6 unittest/test.json
new file mode 100644
index 0000000..adc4d75
--- /dev/null
+++ b/test cases/d/6 unittest/test.json
@@ -0,0 +1,6 @@
+{
+ "installed": [
+ {"type": "exe", "file": "usr/bin/dapp"},
+ {"type": "pdb", "file": "usr/bin/dapp", "language": "d"}
+ ]
+}