[Ns-developers] release update
Tom Henderson
tomh at tomh.org
Tue Jun 9 22:59:05 PDT 2009
> Hi Craig,
>
> I share your sentiments regarding WAF internals being ugly. This is a
> reflection of the way WAF is being maintained, and I lost this battle a long
> time ago :-( I would have forked WAF a long time ago if only I had time to
> maintain the fork...
>
> I think it is plausible to have the testing outside of WAF, if you can
> easily code a task scheduler in python that handles concurrency and task
> dependencies; however, you have to agree it should at least be invoked from
> WAF. That is, "./waf check" should invoke the test script. The test script
> should accept parameters to indicate what build variant we are testing
> (debug/release), and any other useful information that waf knows more
> easily.
>
What about these use cases?
1) user downloading ns-3 and building for the first time
cd ns-allinone-3.X
./download.py
./build.py
./test.py -> this cds into ns-3-dev (or whatever repo was downloaded)
and runs utils/test.py
2) developer who is working on ns-3-dev without bumping up to
ns-3-allinone level:
./waf test -> wrapper that runs utils/test.py, as Gustavo suggests above
./waf check -> no change to existing ./waf check; run unit tests only
./utils/test.py [arguments] -> explicitly run with arguments rather
than let ./waf fill them in for you (such as debug/optimized...)
"test" (full execution of test.py) vs. "check" may seem redundant, but I
don't run --regression nearly as much as check (which also triggers
introspection for me) and I don't run --valgrind --regression nearly as
much as --regression.
(by the way, is there a plan for supporting valgrind in test.py?)
- Tom
More information about the Ns-developers
mailing list