From 6a850cfff0934f03d13fac014a1b8206cd7e2013 Mon Sep 17 00:00:00 2001 From: mgcaret Date: Thu, 5 Mar 2020 22:49:03 -0800 Subject: [PATCH] minor doc update --- README.md | 1 + cov.yml | 496 +++++++++++++++++++++++++++++++++++++++++++++++++ test/README.md | 12 +- 3 files changed, 503 insertions(+), 6 deletions(-) create mode 100644 cov.yml diff --git a/README.md b/README.md index 81b2de4..b989e5a 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Among its many features are: * Core, most of Core Ext, Exception, Search Order, and Search Order Ext word sets. * Smattering of words from other sets. + * Good conformance test coverage. ## Goal diff --git a/cov.yml b/cov.yml new file mode 100644 index 0000000..c25e4a5 --- /dev/null +++ b/cov.yml @@ -0,0 +1,496 @@ +--- +'1': 393 +dup: 37 +'2': 224 +2dup: 13 +'3': 72 +3dup: 1 +'0': 398 +"?dup": 2 +over: 1 +'4': 35 +2over: 1 +pick: 1 +tuck: 1 +clear: 2 +drop: 23 +2drop: 1 +3drop: 1 +nip: 14 +":": 52 +'100': 3 +'200': 1 +'300': 1 +'400': 1 +'500': 1 +";": 53 +roll: 4 +rot: 1 +"-rot": 1 +swap: 19 +2swap: 1 +'5': 38 +'6': 9 +2rot: 1 +">r": 13 +r>: 13 +r@: 1 +depth: 1 +if: 24 +else: 19 +then: 29 +"-1": 171 +msb: 15 +"+": 21 +"-5": 10 +"-2": 48 +mid-uint: 68 +"-": 11 +mid-uint+1: 65 +"*": 12 +"-3": 22 +rshift: 11 +or: 5 +u*: 6 +"/": 23 +'7': 17 +"-7": 14 +max-int: 129 +min-int: 128 +"*/": 19 +mod: 21 +"/mod": 21 +"*/mod": 19 +u/mod: 7 +1+: 18 +1-: 17 +2+: 2 +2-: 2 +abs: 4 +negate: 5 +max: 16 +min: 16 +bounds: 2 +'10': 8 +even: 4 +lshift: 6 +f: 3 +1s: 22 +xor: 7 +'8000': 2 +and: 12 +2*: 6 +">>a": 8 +invert: 8 +">>": 5 +0<: 7 +"-4": 1 +!!str '<<': 3 +0s: 16 +'4000': 2 +2/: 6 +u2/: 3 +not: 2 +s>d: 85 +d+: 25 +min-intd: 5 +hi-2int: 6 +max-2int: 5 +min-2int: 7 +lo-2int: 5 +d-: 26 +max-intd: 1 +um*: 14 +m*: 38 +max-uint: 77 +um/mod: 7 +fm/mod: 34 +sm/rem: 30 +'01020304': 6 +lbsplit: 1 +lwsplit: 1 +'0102': 3 +wbsplit: 1 +'04': 1 +'03': 1 +'02': 2 +'01': 2 +bljoin: 1 +bwjoin: 1 +'0304': 1 +wljoin: 1 +wbflip: 1 +lbflip: 1 +lwflip: 1 +"/c": 1 +"/w": 1 +"/l": 1 +"/n": 1 +ca+: 11 +wa+: 7 +la+: 1 +na+: 4 +ca1+: 2 +wa1+: 3 +la1+: 3 +na1+: 2 +"/c*": 1 +"/w*": 2 +"/l*": 2 +"/n*": 1 +aligned: 6 +char+: 6 +cell+: 10 +chars: 13 +cells: 3 +1st: 21 +2nd: 5 +u<: 16 +"@": 36 +"!": 13 +2@: 4 +2!: 3 +'off': 1 +'on': 1 +1stc: 7 +2ndc: 5 +c@: 10 +c!: 6 +1stw: 9 +2ndw: 5 +w@: 8 +w!: 3 +ffff: 2 +"in": 1 +0>: 17 +ascii: 11 +parse: 1 +test/: 1 +test: 3 +source: 1 +word: 6 +count: 3 +"\\": 1 +"'": 39 +key?: 1 +0=: 28 +key: 1 +expect: 1 +span: 1 +accept: 1 +bell: 1 +bs: 1 +carret: 1 +linefeed: 1 +a: 8 +char: 1 +"[char]": 1 +control: 1 +.": 1 +test": 3 +".(": 1 +test): 1 +'41': 3 +emit: 1 +type: 1 +cr: 1 +space: 1 +'8': 2 +spaces: 1 +"#line": 1 +0>=: 8 +"#out": 1 +exit?: 1 +s": 40 +test"(41)": 2 +testa": 1 +comp: 1 +aaaaa": 1 +bbbb": 1 +pack: 1 +lcc: 2 +"=": 14 +b: 4 +upc: 2 +abc: 2 +"-trailing": 1 +hex: 6 +base: 5 +decimal: 1 +octal: 1 +123": 1 +"$number": 2 +$xyz": 2 +456": 1 +">number": 2 +3a: 1 +'30': 1 +do: 37 +i: 16 +digit: 4 +loop: 29 +'47': 1 +'67': 2 +'61': 1 +6a: 1 +d#: 1 +h#: 1 +o#: 1 +".": 3 +s.: 3 +u.: 3 +".r": 1 +u.r: 1 +".d": 1 +'15': 1 +".h": 1 +".s": 1 +"?": 1 +"(.)": 3 +0": 2 +-1": 1 +1": 4 +"(u.)": 3 +ffffffff": 1 +"<#": 5 +hold: 2 +'42': 1 +"#>": 4 +ba": 1 +sign: 3 +--": 1 +"#": 2 +01": 1 +"#s": 1 +u#s: 1 +u#>: 1 +"<": 26 +">": 29 +">=": 10 +between: 8 +within: 128 +0<=: 6 +"<=": 10 +0<>: 7 +u<=: 6 +u>: 6 +u>=: 6 +'false': 17 +'true': 4 +'234': 7 +case: 44 +endof: 42 +endcase: 16 +of: 28 +begin: 14 +while: 15 +repeat: 10 +until: 4 +n: 1 +"--": 1 +0,1,..n: 1 +recurse: 1 +"+loop": 8 +j: 8 +leave: 4 +"?leave": 2 +evaluate: 3 +eval: 1 +ge4: 1 +execute: 4 +quit: 1 +catch: 5 +throw: 2 +abort: 1 +abort": 1 +'111': 6 +'222': 6 +'333': 4 +'999': 4 +'11': 4 +'22': 6 +'33': 6 +'44': 4 +'345': 6 +unloop: 3 +exit: 2 +noop: 1 +x123: 3 +y123: 2 +2constant: 3 +x123456: 3 +y123456: 2 +value: 3 +val1: 6 +"-999": 1 +val2: 5 +to: 4 +"-333": 1 +val3: 3 +immediate: 5 +literal: 3 +variable: 1 +v1: 3 +'buffer:': 1 +alias: 1 +al2: 2 +defer: 1 +df1: 7 +behavior: 2 +struct: 2 +field: 2 +fld1: 2 +fld2: 2 +postpone: 4 +nop1: 2 +nop2: 2 +does>: 4 +create: 3 +cr1: 6 +">body": 3 +",": 2 +forget: 2 +forgetme3": 1 +forgetme2": 1 +forgetme1": 1 +da1: 1 +here: 7 +c,: 2 +w,: 1 +l,: 1 +align: 2 +allot: 1 +"[']": 2 +gt1string: 2 +find: 9 +gt2string: 1 +state: 2 +"[": 3 +csr: 2 +"]": 3 +compile: 1 +comptest: 3 +compile,: 1 +"[compile]": 1 +wxt: 2 +supercalafrag: 1 +bd1: 1 +body>: 1 +recursive: 1 +rrv1: 4 +forth: 1 +environment?: 1 +code: 1 +label: 1 +c;: 1 +end-code: 1 +showstack: 1 +noshowstack: 1 +words: 1 +foo: 1 +bar": 3 +left-parse-string: 2 +foo": 4 +foo/bar": 1 +a5,f0": 1 +parse-2int: 2 +babe,cafe": 1 +foobar: 38 +cpeek: 6 +wpeek: 4 +lpeek: 4 +lpoke: 1 +abcd: 2 +wpoke: 2 +ef01: 2 +cpoke: 2 +rb@: 6 +rw@: 4 +rl@: 4 +rl!: 1 +rw!: 2 +rb!: 2 +fcode-revision: 1 +binary: 1 +bsx: 4 +7f: 1 +'80': 1 +ff: 1 +wsx: 4 +7fff: 1 +rdrop: 1 +r+1: 1 +">r@": 1 +dm1": 2 +"$create": 1 +last: 1 +dm1: 2 +">link": 1 +">name": 1 +foobar": 1 +"$tmpstr": 1 +a": 2 +foobaz": 2 +"$2value": 3 +bazbar": 2 +foobaz: 2 +bazbar: 2 +aconcat: 1 +fbbb: 3 +foobazbazbar": 1 +"$hex(": 1 +414243): 1 +abc": 1 +cicomp: 1 +":temp": 1 +"[:": 1 +";]": 1 +"$empty-wl": 1 +"$env?-wl": 1 +"$sysif": 1 +"$direct": 1 +sqrtrem: 4 +'25': 1 +'31': 1 +"$memtop": 1 +u.0: 1 +".version": 1 diff --git a/test/README.md b/test/README.md index 92efb64..bef35f0 100644 --- a/test/README.md +++ b/test/README.md @@ -1,8 +1,8 @@ # OF816 Unit tests -This directory contains unit tests for OF816. The ```*.fs``` files contain the tests and -test support files. Most tests are arranged in the order they appear in IEEE 1275-94 -chapter 7. +This directory contains unit and conformance tests for OF816. The ```*.fs``` files +contain the tests andtest support files. Most tests are arranged in the order they +appear in IEEE 1275-94 chapters 5 and 7. Tests written in ALL CAPS, and ``tester.fs`` were borrowed from the Forth 2012/ANSI Forth [test suite](https://github.com/gerryjackson/forth2012-test-suite), and are public-domain. @@ -15,8 +15,8 @@ to the licensing terms of OF816 itself. ## Test Execution -The tests are designed to run under the (currently unreleased) GoSXB -emulator. In the GoSXB platform directory is a crude script to run -the tests. +The tests are designed to run under the (currently unreleased) GoSXB emulator. In the +GoSXB platform directory is a crude script to run the tests. The tests are run in the order described in ``test-manifest.yaml``. +