dash icon indicating copy to clipboard operation
dash copied to clipboard

[WIP] Add full test case for variadic delayed Matrix allocation

Open devreal opened this issue 7 years ago • 3 comments

@fuchsto: Please have a look at this. Your test MatrixTest.DelayedAlloc succeeds while the new test MatrixTest.VariadicDelayedAlloc fails while checking the validity of the pattern arguments, which are the same as in the first test. So either the first test case is invalid or the check in PatternArguments is overly strict. I cannot decide that :)

devreal avatar Jul 10 '17 20:07 devreal

Hmpf, the error is not triggered in CI. Here is what I see on my laptop:

[= -1 LOG =]               TestBase.h : 251 | ===> Running test case MatrixTest.VariadicDelayedAlloc ...
[=  1 LOG =]               TestBase.h : 254 | -==- DASH initialized with 4 units
[    1 ERROR ] [  9679 ] PatternArguments.h       :280  | dash::exception::InvalidArgument             | [ Unit 1 ] Pattern arguments invalid: Mixed distribution types
[  ERROR   ] [UNIT 1] in [=  1 LOG =]               TestBase.h : 264 | -==- Test case finished at unit 1
[=  1 LOG =]               TestBase.h : 267 | -==- Finalize DASH at unit 1
[= -1 LOG =]               TestBase.h : 272 | <=== Finished test case MatrixTest.VariadicDelayedAlloc with 4 units

devreal avatar Jul 11 '17 07:07 devreal

I can report the same error, for me it even triggers in the first test MatrixTest.DelayedAlloc. It occurs in a 32bit VM, only when run with 4 or 6 units.

I tried to debug it a little bit and it seems to fail in check_tile_constraints() of PatternArguments.h#L265. The distribution passed down seems to be [NONE, TILE(5), TILE(3)].

ddiefenthaler avatar Aug 12 '17 15:08 ddiefenthaler

The main issue has been fixed in #444 (thanks to @fmoessbauer). What is left in this PR is splitting the test for variadic matrix allocation into a separate test case.

devreal avatar Oct 01 '17 17:10 devreal