added Replace() to database package
simplified Regressor interface
playback regressor can now be reduxed
regression Redux() now uses database.Replace() instead of separate
Delete() and Add(). this makes sure that the redux entry gets the same
database key once the redux has completed
removed -dryrun option from REGRESS REDUX
removed regression fails log. it wasn't well developed and not a
particularly useful idea
fixed television.SetSimple(). the signal function was not set correctly
checks that linters exist before proceeding. project URL for each linter
in the Makefile comments
only go-errorlint and unconvert used at the moment
fixed all lint errors for the added linters
specifying FAILS as a key will add the previously failed regressions to
the list
REGRESS LIST accepts list of keys to list. this can include FAILS to
list the previous FAILS from REGRESS RUN
as before, specifying no keys at all defaults to selecting all keys in
the database
curated package predated the standard errors package introduced in
go1.13
the standard package does a better job of what curated attempted to do
the change of package also gave me a opportunity to clean up the error
messages a little bit
added ability to skip tests during a regression run by issuing an
interrupt signal (ctrl-c). two such signals within 250ms will stop the
run completely
corrected log regression. now makes sure log is clear before beginning
collation
removed all messages from errors package. the strings are now hard coded
in place. the original reason for extracting the error strings like that
was (a) for redundancy and (b) for localisation possibilities. However,
in reality there is not much redundancy and since the project started
the scope of localisation is much larger (particularly due to the
addition of a GUI)
this is the first step. the next step is to remove the errors package
altogether. recent additions to Go mean that the functionality of the
errors package is no longer required. moreover, the original idea for
the errors package functions turns out not to have been as useful as
first appeared (the Error() functionality which makes sure no repeating
sub-strings occur is probably better achieved with static tooling).
one idea that comes from this which is quite interesting is the idea of
a curated error. that is, any error that has been "wrapped" as some
'generic' type. the IsAny() function in the errors package effectively
serves this purpose. we use that in one place in the input loop of the
debugger. not strictly necessary but nice to have so it would ideal
if we could remove the errors package but keep that idea.
the note about historical versions also being covered wasn't strictly
needed and was ugly. the LICENCE being in the root file from the very
first commit is sufficient.
- improved documentation
- some tidying up
o regression
- improved documentation
o digest
- Digest interface now requires Hash() rather than String()
- warning: use of String() may now break things
- small reordering of recording setup to make sure startup events
are transcribed into the playback transcript
o regression/play
- playback regression and playing of playback scripts ...
- ... cartridges not attached with setup system
- any required setup events are in the playback transcript
- setup package now uses database package and matches entries to the
specified cartridge and applies the changes listed
- only panel entries supported so far
- database file must be hand written
- renamed FormattedError to AtariError
- renamed NewFormattedError to New
- implemented Is() and IsAny() for more convenient testing
+ changed all error testing to use Is() and IsAny()
- renamed FatalError to PanicError to better indicate the intent
- added setup package
- rerouted all vcs.AttachCartridge() calls through new package
o regression/database
- split database package from regression package