On Tuesday, 31 March 2015 at 23:29:28 UTC, Martin Nowak wrote:
On 04/01/2015 12:58 AM, deadalnix wrote:
So now we are going to change the language for this ?

There is a natural name for unitests, the name of the module. We have way to break module into pieces in a backward compatible manner now, so
it's all good.

Are you saying one should split off unittests into submodules?


No necessarily.

Typically, in most test framework, you have a class, and various method, each of them testing various aspect of what you want to test.

I see the class here as the module, and each of the method as a unitest block.

Or are you saying
https://github.com/D-Programming-Language/druntime/blob/3656ba9469a60b4b23bb4a3cd95812b4f410b8a1/src/test_runner.d
is enough for your needs?

I think having multiple tests per module makes sense, e.g. because it's
better to parallelize the tests.


See my previous comment, that is not needed. In fact i also think having several unitest blocks is useful.

We may want to add various annotation to a test, and we have UDA for that.

Sure use a UDA, I don't care. It seems important though, that the compiler recognizes it and emits it as metadata to the ModuleInfo. And if you need some compiler magic anyhow, a UDA just looks redundant.


How I see it, it should be possible for a user to specify a test runner template. This test runner template can do compile time reflection and format its output the way to wants.

We must not bake all required attribute we need to associate a test in the language. What if we want to associate the test with a team name, or give it a name, or give an id that my tools uses to check for tests, or whatever.

Every user will want to add various metadata, and these will vary. Every users will want various output, and these will vary.

It should be possible to have a test runner that use template and compile time reflection to make sense of the unitest block. Yes, there is a bit of compiler magic involved, but nothing terribly fancy.

You mean this?
http://dlang.org/phobos/core_runtime.html#.Runtime.moduleUnitTester

We need template to use compile time reflection.

Reply via email to