On 03/12/10 17:13, Václav Šmilauer wrote:
> Hi Anton, I am quite opposed to adding regression tests where the result
> cannot be established analytically, because they don't indicate whether
> a failure is actually a "progression" or "regression". We discussed that
> with Bruno, who does not agree, few months back already. v
>> As I understand TriaxialTest one of the most popular test in Yade.
>> Can anybody add a regression test for that?

I see pros and cons.

There is much implication on how yade is developped.
Currently, the situation when you work on someting, do other things for a few 
days, then
update and find different behaviour when you resume coding is quite common. 
Vaclav is
doing a lot to put warnings at compile- and run-time to help people fix their 
code and
scripts.
But still, there are many ways for commiters to break someone-else's work 
without notice.
With last changes in cohesive laws, all my scripts testing cylinder-sphere-wall 
problems
were broken, if I had been away for a few days it would have taken some time to 
figure out
why, because it concerns some code still in development, that didn't work even 
before the
commit (not blaming Chiara, just mentionning the usefulness of the 
corresponding reg. test).

It explains a lot regarding why McGill FEM-DEM coupling, Feng-Chen's CFD-DEM, 
Luc's
LBM-DEM are not in the trunk, and why so many users will never update.
If more people were putting a basic regression test corresponding to what they 
are
developping, it would put more responsability on commiters, and it would help 
to clearly
indentify what commit modified a given behaviour.

OTOH, it is clear that (1) a change is not always a bad thing, and that (2) 
global tests
can sometimes give false alarms.

For (1), I think it is not really a difficult problem. For instance : if I 
identify a
mistake in, lets say, Newton Integration, I can expect that all "global" 
regression tests
using Newton will send warnings. I can even update the target values in reg. 
tests before
commiting. I can't imagine a situation where someone would improve something or 
fix a bug
that was affecting everybody, without realizing that it is really affecting 
everybody.
Anyway, if someone fixes a bug that would have been affecting triaxial test for 
so many
years, it should be notified to all TT users.

For (2), it will happen. It happened, in fact, the first time cohesive-chain 
test failed
(testing compiler-sensitive numerical noise). The second warning was real 
though. Clearly,
one should think twice before defining target values and warning threshold.

Unit tests testing each small thing separately are very usefull. The only 
problem is they
hardly identify 1% of the "oh god, why is it not like yesterday" problems that 
makes the
daily life of yade users.

My two cents.

Bruno

_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to