CBFalconer wrote:
Frank Heckenbach wrote:
... snip ...
and another oldie is a for loop up to maxint
FOR i :- maxint-5 TO maxint DO write(i : 10);
which becomes an infinite loop on some systems.
Also with GPC? This would surprise me since GPC contains explicit code to prevent this, and at least on IA32 where I'm on right now, it works correctly.
Hadn't tried it. Now I won't bother. I went through some gyrations to stamp it out on PascalP, so it sticks in memory.
Same for me. Though I didn't write that code (according to the change log it's actually quite old, from 1989), but I recently read the code because of another issue with `for' loops, and the extra effort done is clearly visible ...
- The test suite could well be separated into a separate
tarball, and made available separately. This would not preclude including that tarball in the source distribution. I gather that the full source is totally unnecessary for test execution.
No problem. We're going to migrate the whole GPC stuff to a new server soon, setting up some automated package building etc., and we can probably do this in one go. If you'd like to have such a tarball now, just let me know.
- The tests might well be grouped by area, eg. ISO, Extended,
Object, Delphi, GNU. To a large extent each section includes the preceding one, and tests could be flagged if they will fail on a 'higher' group. For example, anything that includes 'const' for parameters will fail on ISO or Extended (I believe). Strict declaration section order is probably a failed test for some variants, so the headers should include a: basic area b: not for area list. Separate directories for each such group would be handy. I see no great purpose in segregating ISO-0 and ISO-1, although there is an argument for it. Once setup existing tests could be gradually migrated.
- The tests are obviously setup for Unixy/GNUized system
control, although I detect a lot of effort at segregating that. I think they are a product in their own right, and should have a separate life, and be useful for other systems than GPC. It is too bad they couldn't be built on the basis of the original test suite, now held by Prospero.
Both are in principle good ideas, IMHO, but as I said in my last mail, someone would have to do the work ...
I for one, as the author of most of the tests in the current test sutie, use it mostly for regression testing of GPC (if someone changes something in GPC, I can check if it breaks something else, which doesn't happen to rarely ...). I write new tests whenever I discover problems, or things that work but "should be checked, anyway" (IMHO), and for msot new features implemented. I don't really have the time to put any more effort into the test suite, and I'm quite content with what it does for me currently.
Any volunteers?
Frank