Thread overview
Run only "unittest", skip "main"
Jan 24, 2015
tcak
Jan 24, 2015
H. S. Teoh
Jan 24, 2015
ketmar
Jan 24, 2015
H. S. Teoh
Jan 24, 2015
ketmar
January 24, 2015
Is there any way to run only unittest codes, and ignore main function?

DMD is running both of them when I use -unittest.
January 24, 2015
On Sat, Jan 24, 2015 at 06:15:29PM +0000, tcak via Digitalmars-d-learn wrote:
> Is there any way to run only unittest codes, and ignore main function?
> 
> DMD is running both of them when I use -unittest.

version(unittest)
{
	void main() {}
}
else
{
	void main() { /* real main code here */ }
}


T

-- 
The volume of a pizza of thickness a and radius z can be described by the following formula: pi zz a. -- Wouter Verhelst
January 24, 2015
On Sat, 24 Jan 2015 10:52:26 -0800, H. S. Teoh via Digitalmars-d-learn wrote:

> On Sat, Jan 24, 2015 at 06:15:29PM +0000, tcak via Digitalmars-d-learn wrote:
>> Is there any way to run only unittest codes, and ignore main function?
>> 
>> DMD is running both of them when I use -unittest.
> 
> version(unittest)
> {
> 	void main() {}
> }
> else {
> 	void main() { /* real main code here */ }
> }

real PITA and uglyness, btw.

January 24, 2015
On Sat, Jan 24, 2015 at 07:02:35PM +0000, ketmar via Digitalmars-d-learn wrote:
> On Sat, 24 Jan 2015 10:52:26 -0800, H. S. Teoh via Digitalmars-d-learn wrote:
> 
> > On Sat, Jan 24, 2015 at 06:15:29PM +0000, tcak via Digitalmars-d-learn wrote:
> >> Is there any way to run only unittest codes, and ignore main function?
> >> 
> >> DMD is running both of them when I use -unittest.
> > 
> > version(unittest)
> > {
> > 	void main() {}
> > }
> > else {
> > 	void main() { /* real main code here */ }
> > }
> 
> real PITA and uglyness, btw.

I know.

One idea is to make `-main` automatically suppress any user-defined main, then you can compile with `dmd -main -unittest` to make it only run unittests.

But I don't know if the dmd devs will approve of that...


T

-- 
The irony is that Bill Gates claims to be making a stable operating system and Linus Torvalds claims to be trying to take over the world. -- Anonymous
January 24, 2015
On Sat, 24 Jan 2015 11:11:35 -0800, H. S. Teoh via Digitalmars-d-learn wrote:

> On Sat, Jan 24, 2015 at 07:02:35PM +0000, ketmar via Digitalmars-d-learn wrote:
>> On Sat, 24 Jan 2015 10:52:26 -0800, H. S. Teoh via Digitalmars-d-learn wrote:
>> 
>> > On Sat, Jan 24, 2015 at 06:15:29PM +0000, tcak via Digitalmars-d-learn wrote:
>> >> Is there any way to run only unittest codes, and ignore main function?
>> >> 
>> >> DMD is running both of them when I use -unittest.
>> > 
>> > version(unittest)
>> > {
>> > 	void main() {}
>> > }
>> > else {
>> > 	void main() { /* real main code here */ }
>> > }
>> 
>> real PITA and uglyness, btw.
> 
> I know.
> 
> One idea is to make `-main` automatically suppress any user-defined main, then you can compile with `dmd -main -unittest` to make it only run unittests.
> 
> But I don't know if the dmd devs will approve of that...

that would be very handy. i completely forgot about '-main' key for dmd. thank you, now i gone creating another nice patch. ;-)