[Push] Tests

Rud Merriam k5rud at arrl.net
Wed Jun 30 14:22:34 EDT 2010


My implementation in C++, after intermittent work through a number of years,
was finally completed a few months ago. It started with the Push2
specification and then migrated to something like Push3 when that was
released.

For testing I setup unit tests for each instruction, many routines common to
instructions, all the list handling, and the genetic operators. Even after
all that when running random code there were still more errors. I added unit
tests for all those failures to make sure they were fixed. 

Having the unit tests for regression testing is really helpful. 

Unfortunately those aren't portable so can't be contributed to a general
testing framework. 

The test output from the Lisp version (Push2, as I recall) is insufficient
for really good testing since it only reports successful operations. For
instance, it doesn't test for missing stack values: "1 INTEGER.+". 

 
 - 73 - 
Rud Merriam K5RUD 
http://mysticlakesoftware.com/


> -----Original Message-----
> From: PerPlex Ed [mailto:edperplex at yahoo.com] 
> Sent: Wednesday, June 30, 2010 3:07 AM
> To: push at lists.hampshire.edu
> Subject: Re: [Push] Tests
> 
> 
> 
> I discovered more bugs running random code than running the 
> set of truths that Marrten kindly shared. In fact, after I 
> fixed one bug, all those tests ran successfully with the 
> first version of my interpreter. On the other side, in the 
> next couple of days I found many bugs running the random code 
> generation and evaluation tests.
> 



More information about the Push mailing list