Get module file path from ModuleInfo
Andre Pany
andre at s-e-a-p.de
Thu Jun 6 10:43:39 UTC 2019
On Thursday, 6 June 2019 at 10:16:17 UTC, Jacob Carlborg wrote:
> On Thursday, 6 June 2019 at 04:20:52 UTC, Andre Pany wrote:
>> Hi,
>>
>> I want to enhance a unittest framework to also report the
>> results in SonarQube Generic Execution format. This format
>> lists the file paths.
>>
>> The unittest framework loops through the modules and collects
>> the module name and the unittests:
>>
>> foreach (moduleInfo; ModuleInfo)
>> {
>> if (moduleInfo)
>> {
>> auto unitTest = moduleInfo.unitTest;
>>
>> if (unitTest)
>> {
>> testClass.name = moduleInfo.name;
>> testClass.test = (o, test) { unitTest(); };
>> testClasses ~= testClass;
>> }
>> }
>> }
>>
>> Is there any way to get the module file path (the value
>> __FILE__ would contain in the modules)?
>>
>>
>> Kind regards
>> André
>
> No, I think you have to use `__traits(getUnitTests)`.
>
> —
> /Jacob Carlborg
Also __traits(getUnitTests) does not return the module file name.
The approach above is working fine in the d-unit library
(https://code.dlang.org/packages/d-unit)
What do you think does make more sense to make it possible:
- Enhance ModuleInfo
(https://dlang.org/library/object/module_info.html) with a new
attribute "string file"
- add a new trait __traits(file, "module name")
Kind regards
André
More information about the Digitalmars-d-learn
mailing list