Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/64bites/64spec-cli
A working prototype of a command line runner for 64spec
https://github.com/64bites/64spec-cli
Last synced: 4 days ago
JSON representation
A working prototype of a command line runner for 64spec
- Host: GitHub
- URL: https://github.com/64bites/64spec-cli
- Owner: 64bites
- Created: 2015-12-27T17:31:06.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-29T15:17:02.000Z (about 9 years ago)
- Last Synced: 2024-11-10T10:18:25.413Z (2 months ago)
- Language: Go
- Size: 1.95 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 64spec-cli
A working prototype of a command line runner for 64spec
Disclaimer. This is my first ever go program, made in a few hours. So I don't even remember at the moment how to setup the environment to make it compile ;)
## Requirements
VICE-2.4.20-x86-r29904 or newerOn mac you can use WinVICE and Wine.
## Installation
Pull requests are welcome :D## How it works
It takes one or more 64spec test file names as an input.
Then in parallel:
1. each file is compiled with kick assembler and following commands are passed to 64spec
* :on_exit=jam // This one jams VICE after tests finish
* :write_final_results_to_file=true // This one tells 64spec to write results to a file on a disk in drive 9
* :result_file_name= // This one sets the name of that file
2. After successful compilation prg file is passed to VICE with following commands
* -jamaction 5 // This ensures that VICE closes after JAM
* -chdir ./ // This one set's the current dir.VICE mounts the output_dir as a drive 9. So 64spec can actually write a file outside of the emulator:)
Once each file is processed. The runner gathers results and prints them on the screen.Earlier versions of VICE do not support exiting on JAM so there is no way to close the emulator after tests finish.
If you know of any better way to do that let me know. Or even better make a pull request.
## Why Go?
It seems to be an easiest way to write multiplatform command line applications. I made it in just few hours without any prior knowledge of go and made the tests run in parallel in next 20 minutes:)