← Back to team overview

gnusim8085-devel team mailing list archive

[Bug 579362] Re: GNUSim8085 as a regression testing framework?

 

Hi,

I just joined the group (thought what you guys are doing is really
cool). I'm somewhat unfamiliar with Linux GUI development so I thought
I'd start out working on something involving the CLI. Attached is a
patch (run with -p1 in the gnusim8085 directory) that adds some basic
command line functionality.

When called with "gnusim8085 -r <file_list>", it runs through each of
the files, reads it as an assembly file, executes it and prints a dump
of the registers and flags to stdout. Errors and messages go to stderr.
The format of the dump is specified in primary file "cli-reg-test".

I plan to add much more (memory dump, varying levels of verbosity,
expect directives and the like), I just thought I'd run this by everyone
first.

I've tested it pretty thoroughly, but I'm still pretty unfamiliar with
some of the code. If I've done something to break everything horribly,
please let me know and I'll fix it immediately.

** Patch added: "gnusim8085.patch"
   https://bugs.launchpad.net/gnusim8085/+bug/579362/+attachment/1697096/+files/gnusim8085.patch

-- 
GNUSim8085 as a regression testing framework?
https://bugs.launchpad.net/bugs/579362
You received this bug notification because you are a member of
GNUSim8085 developers, which is subscribed to gnusim8085.

Status in gnusim8085: New

Bug description:
There was some discussion over at the sdcc forums about the lack of a simulator/emulator that could be used for regression testing purposes. Having a simulator/emulator that could be used to do regression tests would be very useful. 
So the question is how complicated it would be to make use of the simulator in GNUSim8085 without necessarily relying on the GUI.
I am envisioning a different startup mode, where the GUI is replaced with a command line/console interface, so that we could run a given source file in a console environment, where the simulator would optionally respond with a dump of the internal state at an arbitrary point, possibly using a markup format such as XML or RDF.

Implementing this would probably be pretty straightforward if the simulator functionality can be easily decoupled from the GUI, i.e. if the simulator is following the MVC pattern.

In addition, this would really not be very complex at all - we would only need to accept a filename and one switch for a mode, i.e. step by step vs. complete runs.

And then, we'd only need to output all internal simulator state (mostly registers, flags, stack) to the console, so that it can be examined by utilities such as "expect".

So, how complicated would it be to have the simulator run in a very limited mode, WITHOUT the GUI?

I envision something along the lines of

./gnusim8085  test.asm

where test.asm would contain:
;---------
mvi a,05h
mvi b,03h
add b
;---------

and running the simulator would simply dump all relevant internal state to the console, preferably in some standardized markup/format.

http://sourceforge.net/forum/forum.php?thread_id=2030455&forum_id=1864