You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The reason will be displayed to describe this comment to others. Learn more.
Even with the current testsuite, we are really far from where we should be, and it is already slow. Perhaps we have reached a point where it is worth having a comprehensive testsuite and something that runs much faster.
The reason will be displayed to describe this comment to others. Learn more.
5-10 minutes is not a long time by test suite standards.
I used to think there should be separate fast and slow test suites, but Stefan convinced me otherwise. What do you do, run the fast suite if you feel like breaking the system, and the slow suite if you'd rather not break the system?
Actually @test itself might be slowing things down. Generally @assert is much faster, since it doesn't go through try/catch and the test handler machinery. We should see if it's worth having a mode that converts tests to asserts, which still checks everything, but with less detailed reporting.
The reason will be displayed to describe this comment to others. Learn more.
A system of complexity such as julia really needs to have a comprehensive testsuite. It made sense so far not to do so, but I am not sure I agree going forward. Anyways, this is not the place for that discussion, and it is not as if anyone (including me) is volunteering to write a whole bunch of tests.
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure everybody agrees we want the most comprehensive testsuite possible. If we were deliberately trying to make the testsuite not comprehensive, I wasn't aware of it.
So the actual fencepost error in the original code was that it should have been 0 < k <= n instead of 0 < k < n. My change basically does that but I decided to tersen up the code a bit and make it IMO clearer and add some more tests, of course.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test case?
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What,
make -C test linalg
runs too quickly for you? ;)a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even with the current testsuite, we are really far from where we should be, and it is already slow. Perhaps we have reached a point where it is worth having a comprehensive testsuite and something that runs much faster.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5-10 minutes is not a long time by test suite standards.
I used to think there should be separate fast and slow test suites, but Stefan convinced me otherwise. What do you do, run the fast suite if you feel like breaking the system, and the slow suite if you'd rather not break the system?
Actually
@test
itself might be slowing things down. Generally@assert
is much faster, since it doesn't go through try/catch and the test handler machinery. We should see if it's worth having a mode that converts tests to asserts, which still checks everything, but with less detailed reporting.a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test added in 2c02e0b
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A system of complexity such as julia really needs to have a comprehensive testsuite. It made sense so far not to do so, but I am not sure I agree going forward. Anyways, this is not the place for that discussion, and it is not as if anyone (including me) is volunteering to write a whole bunch of tests.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure everybody agrees we want the most comprehensive testsuite possible. If we were deliberately trying to make the testsuite not comprehensive, I wasn't aware of it.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should at least have a coverage report as to how much of the codebase has been covered by the test suites.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one broke some code of mine because the code used that you got
Would it be a problem if either
diagind
returned an empty range instead of an exception forabs(k)>=n
or just that it did forabs(k)==n
?a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think an empty range would be acceptable in all cases where it now throws a
BoundsError()
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's ok for all cases where we throw a bounds error, just the corner cases where an empty range is correct.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm working on a patch for this but the tests are giving me a bit of trouble.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And that would be because I'm editing the code in one copy of Julia and the tests in another.
a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
7dd97fa
So the actual fencepost error in the original code was that it should have been
0 < k <= n
instead of0 < k < n
. My change basically does that but I decided to tersen up the code a bit and make it IMO clearer and add some more tests, of course.a16c40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thanks.