64bites / 64spec

6502/Commodore64 Testing Framework for KickAssembler
http://64bites.com/64spec/
MIT License
55 stars 10 forks source link

64spec does not compile with KA >=5.1 #3

Open maciejmalecki opened 5 years ago

maciejmalecki commented 5 years ago

This is most likely due to following changes in 5.1:

11/11-2018 : New release (v5.1): Escape chars (\b\f\n\r\t\\") and hex values (\$xx) in strings when using @. Eg: .text @"Hello world\$ff" Compatebility: Plain strings (strings without @) are now escape code free. (using \" no longer works)

The following output is generated by KA:

//------------------------------------------------------
//------------------------------------------------------
// Kick Assembler v5.1 by Mads Nielsen
//------------------------------------------------------
//------------------------------------------------------
parsing
Got 8 errors while executing:
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 191:27) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 197:27) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 208:57) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 221:46) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 231:46) Syntax error
...

.if (validate_non_empty_string_option("result_file_name", key, value)) .return null

.if (validate_set_option("change_character_set", List().add(
_64SPEC_SET_OPTION("\"lowercase\"", "lowercase"),
^

Error: Syntax error
at line 191, column 27 in C:\prj\cbm\c64lib\64spec\lib\64spec.asm

Link to failing build: https://travis-ci.org/c64lib/common/builds/459738499

hayesmaker commented 5 years ago

same here + 1

hirschenberger commented 5 years ago

Same here +1

hayesmaker commented 4 years ago

shame this is abandoned - i'd really like to use it.

ggramlich commented 3 years ago

The problem should be fixed already in 5bf70765359f3a57d51247d6d4782b7a2e8a9c0d or use the fork https://github.com/c64lib/64spec

maciejmalecki commented 3 years ago

The fix is already merged but would be nice if @mehowte creates a 0.8.0 release with this bug fix. Currently, indeed a release from my fork can be used: https://github.com/c64lib/64spec/releases/tag/0.7.0pr

@hayesmaker besides of that the library is fully functional. I have "evolved" the 64spec-cli concept into my Gradle plugin, so tests can be now run using CLI as well:

https://c64lib.github.io/gradle-retro-assembler-plugin/#_running_unit_tests_with_64spec

If you need more working examples you could take a look into one of my libraries, i.e.: https://github.com/c64lib/text/tree/master/spec