Create a numerics library (LIBBN) API unit test ... for msr.cBRL-CAD
Status: ClosedTime to complete: 48 hrs Mentors: SeanTags: unit test, API, C, Tcl, Python, Ruby

There are more than 300 library functions in our core LIBBN library. As a core library used by nearly every one of BRL-CAD's tools, testing those functions for correct behavior is important.

This task involves implementing a new unit test for any of LIBBN's source files that do not already have a unit test defined. The test should run all of the public functions and be hooked into our build system (if written in C). We have lots of existing unit tests to follow as an example.

You can implement this task in any language you like, but you'll have to bind all of the functions you test.

References:

  • include/bn.h
  • src/libbn/msr.c
  • src/libbu/tests/*.c
  • src/libbn/tests/*.c

Code:

  • src/libbn/tests/bu_msr.c
  • src/libbn/tests/CMakeLists.txt
Uploaded Work
File name/URLFile sizeDate submitted
msr.patch6.0 KBDecember 28 2012 20:50 UTC
Comments
Silvrouson December 22 2012 10:08 UTCTask Claimed

I would like to work on this task.

Andrei Popescu on December 22 2012 10:13 UTCTask Assigned

This task has been assigned to Silvrous. You have 48 hours to complete this task, good luck!

Melange on December 24 2012 10:13 UTCInitial Deadline passed

Melange has detected that the initial deadline has passed and it has set the task status to ActionNeeded. The student has 24 hours to submit the work before the task is reopened and sent back to the pool for other students to claim.

Andrei Popescu on December 24 2012 20:25 UTCDeadline extended

The deadline of the task has been extended with 1 days and 0 hours.

Andrei Popescu on December 26 2012 08:54 UTCDeadline extended

The deadline of the task has been extended with 1 days and 12 hours.

Andrei Popescu on December 27 2012 18:10 UTCDeadline extended

The deadline of the task has been extended with 1 days and 0 hours.

Silvrouson December 28 2012 21:22 UTCReady for review

The work on this task is ready to be reviewed.

Melange on December 29 2012 06:29 UTCNo more Work can be submitted

Melange has detected that the deadline has passed and no more work can be submitted. The submitted work should be reviewed.

Sean on December 29 2012 06:34 UTCnice work!

Really nice work, Silvrous!  I haven't compiled, but the only issue I noticed on review was the unnecessary #undef's at the end of the C file.  Preprocessor symbols only exist for the duration of a single compilation unit (i.e., that C file).  Everything else looks perfect, though, including finding the typo gems in the header file (you'd think with all the spelling correction tasks we have that someone would have found/fixed those by now).

Sean on December 29 2012 06:34 UTCTask Closed

Congratulations, this task has been completed successfully.

Sean on January 10 2013 06:16 UTCclose...

Silvrous, it looks like you're just two or three tasks away from making our top five.  I thought you might like to know given there are just a few days remaining.

Sean on January 14 2013 14:48 UTCthank you

As GCI comes to a close, we wanted to take the time to say THANK YOU for all your efforts.  This comment interface closes after GCI is over, so you're encouraged to join our mailing list where we'll be announcing contributions from GCI participants like yourelf over the upcoming months: 


https://lists.sourceforge.net/lists/listinfo/brlcad-news


If you've provided your full name, we'll be sure to credit you in our authorship documentation and you'll see your name in a future announcement.  If you contact us at devs@brlcad.org or via IRC, we'll even let you know when your work is integrated and follow up with updates.  You're welcome and encouraged to contact us any time, especially if you have a question about how to continue participating in Open Source after GCI is over, but even if just to keep in touch.  Note that ongoing participation in Open Source is one of the most impressive skills to have on your resumé.  Take care, be well, and thank you again!


You did a ton of tasks so you're name is going to be all over the place. ;)