1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-06-11 17:29:29 +00:00
6502bench/SourceGen/SGTestData/FunkyProjects/README.md
Andy McFadden a395909574 Add a couple of funky projects
Added a project with a few bad address region definitions, and one to
exercise the security sandbox.

Also, fiddled with the documentation a little.
2021-10-08 08:36:44 -07:00

2.9 KiB

Funky SourceGen Projects

This is a collection of project files that aren't quite right. Some of them will load with warnings, others will fail at different points. They can be used to manually exercise the various project-load failure modes.

Normally project files use the name of the data file, with ".dis65" added. All of the projects use the same data file ("Simple"), so it will be necessary to specify the data file manually for most of them (you will be prompted to do so).

The files are:

  • Simple.dis65 : A trivial but correct project.

  • Simple-BadATag.dis65 : An analyzer tag claims to cover a range outside the file bounds. The program should tell you that it's discarding the bad tags and continuing.

  • Simple-BadCRC.dis65 : The data file CRC stored in the project file does not match the data file contents. The program should tell you this and offer to let you locate the correct file.

  • Simple-BadDescLen.dis65 : An operand format descriptor covers a range off the end of the file. The program should tell you that it's discarding the bad format and continuing.

  • Simple-BadExt.dis65 : The project has an extension script that attempts to perform some basic file I/O that should be blocked by the security sandbox. (Must look at analyzer output to see the failure.)

  • Simple-BadJSON.dis65 : Garbage has been inserted into the JSON data stream. The project load should fail with an appropriate message.

  • Simple-BadLen.dis65 : The data file length stored in the project file does not match the data file contents. The program should tell you this and offer to let you locate the correct file.

  • Simple-BadMagic.dis65 : The "magic number" at the start of the project file has been damaged. The project load should fail with an appropriate message.

  • Simple-BadRegions.dis65 : The project has three correct regions, and three bad regions: one is zero-length, one is an exact duplicate of another region, and one straddles two regions. The bad regions should be discarded with warning messages.

  • Simple-DupLabel.dis65 : More than one line has the same label. You should be warned that the duplicates are being stripped away.

  • Simple-FutureVersion.dis65 : The project has a content-version higher than the application. You should see a warning to that effect.

  • Simple-MissingPlatSym.dis65 : One of the platform symbol files listed in the project file does not exist. You should be notified of the problem and loading should continue. (Furthermore, if you look in the project settings, the missing project file should still be listed.)

  • Simple-TooShort.dis65 : Same as Simple-BadMagic, but tests to see if we choke when the file is shorter than the magic string.

  • ZeroLengthFile : This is intended for use with "new project". The application should refuse to create a new project for a zero-length file.