Parrot-GMP: More Tests

Submitted by bubaflub on Sun, 06/19/2011 - 01:57

Nothing terribly exciting to report - progress is continuing as I am writing more and more tests to cover all of the GMP Integer functions. A function is considered covered when there are at least two tests that call that function. I've used Whiteknight++'s Rosella library for both the testing harness and the tests themselves. The harness is written in NQP while the individual test files are written in Winxed. This isn't a big problem since both NQP and Winxed come bundled with Parrot.

Though I shouldn't be, I am always surprised when tests reveal trivial or subtle bugs. I was accidentally passing in the Winxed object rather than the pointer it wrapped into the NCI functions which caused many functions to mysteriously fail. Also, one function was an alias which was not mentioned explicitly in the documentation so attempting to load it by name failed. Both of these have been fixed. Currently one function is causing a segfault which I will investigate and hopefully fix before the mid-term.

The goal right now is to try and get complete test coverage by the end of this week. After that, I'll work on automating the development and compiling process and add some metadata so my project works with Plumage. Finally, I'll add some introductory and tutorial-esque notes. I'll aim to get these done by the mid-term.

I noticed that the PDD describing NCI calling conventions is in draft state; plobsing++ mentioned that it is horribly out of date. At the next parrotsketch meeting I'll ask what we should do about this - I'm willing to put the effort in to fix it and make it less-wrong, or I could just do a separate document that is more narrative or tutorial rather than guiding document.