]> Kevux Git Server - fll/commitdiff
Progress: Add simple runtime testing scripts and testfile for fss_read.
authorKevin Day <kevin@kevux.org>
Tue, 30 May 2023 01:15:55 +0000 (20:15 -0500)
committerKevin Day <kevin@kevux.org>
Tue, 30 May 2023 01:15:55 +0000 (20:15 -0500)
This is an incredibly basic implementation.
I didn't bother to make is as flexible and portable as it could otherwise be.

Provide a way to test the runtime results of the fss_read programs.
I only got so far as to add tests for FSS Basic (FSS-0000) and FSS Extended (FSS-0001).

The tests for the FSS Extended (FSS-0001) currently has some failures.
I've noticed that I have not even implemented the --select functionality.
This is the likely cause for several of the test failures.

For now, I just cheated and used the 0.6.x version of the project to generate the expected output.
Any bugs in that output will be matched (ideally there are no bugs).
I did do a quick glance at some of these and they do look fine.

The source test files are copies of files I have used in the past but never made publicly available until now.

198 files changed:
level_3/fss_read/c/main/fss_read.c
level_3/fss_read/c/main/process_normal.c
level_3/fss_read/data/build/dependencies-tests [new file with mode: 0644]
level_3/fss_read/data/build/testfile [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/source/test-0000-quotes_and_escapes.fss [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0000/source/test-0001-unicode.fss [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-columns.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-original.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-0.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-1.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-100.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-5.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-total.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-trim.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content.expect [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/source/test-0000-quotes_and_escapes.fss [new file with mode: 0644]
level_3/fss_read/tests/runtime/fss_0001/source/test-0001-unicode.fss [new file with mode: 0644]
level_3/fss_read/tests/runtime/script/generate.sh [new file with mode: 0644]
level_3/fss_read/tests/runtime/script/verify.sh [new file with mode: 0644]

index 5ff1439159b4887b3f83418ff2a50bbd6f0a95e5..3f1b58ef17c92b53a9f61ead23c072e71040dca8 100644 (file)
@@ -108,7 +108,6 @@ extern "C" {
 
     if (main->setting.flag & fss_read_main_flag_object_e) {
       if (*line == main->setting.line) {
-
         if (main->setting.flag & fss_read_main_flag_total_e) {
           fss_read_print_number(&main->program.output, 1);
         }
index 1880e7a072e3ee9429a8ea327df566dd5be13b04..a7aeb19b1f3893cde85b0e4787f3a4aa669c7062 100644 (file)
@@ -288,6 +288,7 @@ extern "C" {
 
         if (names[at]) {
           max = 1;
+
           break;
         }
 
diff --git a/level_3/fss_read/data/build/dependencies-tests b/level_3/fss_read/data/build/dependencies-tests
new file mode 100644 (file)
index 0000000..6c80a9b
--- /dev/null
@@ -0,0 +1,5 @@
+# fss-0001
+
+bash
+sed
+md5sum
diff --git a/level_3/fss_read/data/build/testfile b/level_3/fss_read/data/build/testfile
new file mode 100644 (file)
index 0000000..48974bb
--- /dev/null
@@ -0,0 +1,92 @@
+# fss-0005 iki-0002
+#
+# Performs runtime testing, which includes building the program.
+#
+# To keep things simple, this only runs tests against fss_read.
+#
+
+settings:
+  fail exit
+  modes individual level monolithic clang test
+
+  environment PATH LD_LIBRARY_PATH
+  environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH
+
+main:
+  build settings
+  build settings.main
+
+  operate build_path
+  operate ld_library_path
+  operate generate
+  operate verify
+
+generate:
+  print
+  print Generating Test 0000 for Basic (FSS-0000).
+
+  touch directory parameter:"build_path"test/fss_0000
+  run bash ./tests/runtime/script/generate.sh test-0000 tests/runtime/fss_0000/source/test-0000-quotes_and_escapes.fss parameter:"build_path"test/fss_0000
+
+  print
+  print Generating Test 0001 for Basic (FSS-0000).
+  run bash ./tests/runtime/script/generate.sh test-0000 tests/runtime/fss_0000/source/test-0001-unicode.fss parameter:"build_path"test/fss_0000
+
+  touch directory parameter:"build_path"test/fss_0001
+
+  print
+  print Generating Test 0000 for Extended (FSS-0001).
+
+  touch directory parameter:"build_path"test/fss_0001
+  run bash ./tests/runtime/script/generate.sh test-0001 tests/runtime/fss_0001/source/test-0000-quotes_and_escapes.fss parameter:"build_path"test/fss_0001
+
+  print
+  print Generating Test 0001 for Extended (FSS-0001).
+  run bash ./tests/runtime/script/generate.sh test-0001 tests/runtime/fss_0001/source/test-0001-unicode.fss parameter:"build_path"test/fss_0001
+
+verify:
+  print
+  print Verifying Tests for Basic (FSS-0000).
+  run bash ./tests/runtime/script/verify.sh build/test/fss_0000/ tests/runtime/fss_0000/expect/
+
+  print
+  print Verifying Tests for Extended (FSS-0001).
+  run bash ./tests/runtime/script/verify.sh build/test/fss_0001/ tests/runtime/fss_0001/expect/
+
+build_path:
+  parameter build_path build/
+
+  if parameter build:value
+    parameter build_path parameter:"build:value"
+
+  touch directory parameter:"build_path" parameter:"build_path"test
+
+  # Setup the PATH to use the just compiled programs.
+  define PATH parameter:"build_path"programs/static:parameter:"build_path"programs/shared:define:"PATH"
+
+ld_library_path:
+  if define LD_LIBRARY_PATH
+  and parameter work:value
+    define LD_LIBRARY_PATH 'parameter:"build_path"libraries/shared:parameter:"work:value"libraries/shared:define:"LD_LIBRARY_PATH"'
+
+  else
+  if define LD_LIBRARY_PATH
+    define LD_LIBRARY_PATH 'parameter:"build_path"libraries/shared:define:"LD_LIBRARY_PATH"'
+
+  else
+  if parameter work:value
+    define LD_LIBRARY_PATH 'parameter:"build_path"libraries/shared:parameter:"work:value"libraries/shared'
+
+  else
+    define LD_LIBRARY_PATH parameter:"build_path"libraries/shared
+
+help:
+  print
+  print context:'title'Fakefile Options for FSS Read Software Testing.context:'reset'
+
+  print
+  print The following operations are available\:
+  print "  - context:'notable'help:context:'reset'      Perform the help operation, printing this message."
+  print "  - context:'notable'main:context:'reset'      Build the main program, generate the data, and verify the tests."
+  print "  - context:'notable'generate:context:'reset'  Generate the data (main program must be built)."
+  print "  - context:'notable'verify:context:'reset'    Verify the tests (main program must be built)."
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-columns.expect
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-0.expect
new file mode 100644 (file)
index 0000000..ee14d0b
--- /dev/null
@@ -0,0 +1 @@
+there.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-1.expect
new file mode 100644 (file)
index 0000000..30e8a65
--- /dev/null
@@ -0,0 +1 @@
+there
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-line-5.expect
new file mode 100644 (file)
index 0000000..b2901ea
--- /dev/null
@@ -0,0 +1 @@
+a b
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-original.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-0.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content-trim.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-content.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-0.expect
new file mode 100644 (file)
index 0000000..b14df64
--- /dev/null
@@ -0,0 +1 @@
+Hi
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-1.expect
new file mode 100644 (file)
index 0000000..a3c9ded
--- /dev/null
@@ -0,0 +1 @@
+\\hi
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-at-5.expect
new file mode 100644 (file)
index 0000000..e16c76d
--- /dev/null
@@ -0,0 +1 @@
+""
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-columns.expect
new file mode 100644 (file)
index 0000000..573541a
--- /dev/null
@@ -0,0 +1 @@
+0
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-0.expect
new file mode 100644 (file)
index 0000000..b14df64
--- /dev/null
@@ -0,0 +1 @@
+Hi
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-1.expect
new file mode 100644 (file)
index 0000000..a3c9ded
--- /dev/null
@@ -0,0 +1 @@
+\\hi
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-line-5.expect
new file mode 100644 (file)
index 0000000..e16c76d
--- /dev/null
@@ -0,0 +1 @@
+""
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-original.expect
new file mode 100644 (file)
index 0000000..25ede79
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\\"Hello
+"\\\\\" quoted stuff."
+""
+\""
+\"
+""""
+"\" "
+"\\\\\" sss"
+"\\"\\\" xx"
+"\\"\\\""
+\#not
+\\#not
+\\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-0.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object-trim.expect
new file mode 100644 (file)
index 0000000..66dcec1
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+"
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect
new file mode 100644 (file)
index 0000000..ee4efdb
--- /dev/null
@@ -0,0 +1 @@
+Hi there.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect
new file mode 100644 (file)
index 0000000..e58bb74
--- /dev/null
@@ -0,0 +1 @@
+\\hi there
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect
new file mode 100644 (file)
index 0000000..ac1d799
--- /dev/null
@@ -0,0 +1 @@
+"" a b
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect
new file mode 100644 (file)
index 0000000..ee4efdb
--- /dev/null
@@ -0,0 +1 @@
+Hi there.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect
new file mode 100644 (file)
index 0000000..e58bb74
--- /dev/null
@@ -0,0 +1 @@
+\\hi there
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect
new file mode 100644 (file)
index 0000000..ac1d799
--- /dev/null
@@ -0,0 +1 @@
+"" a b
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-original.expect
new file mode 100644 (file)
index 0000000..f249744
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\\"Hello to you."
+"\\\\\" quoted stuff." and so on..
+"" zero
+\"" a b
+\" one
+"""" c d
+"\" " e f
+"\\\\\" sss" there
+"\\"\\\" xx" bb
+"\\"\\\"" bb
+\#not a comment...should have no slashes.
+\\#not a comment either...should have one slash.
+\\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect
new file mode 100644 (file)
index 0000000..fbaf0a0
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to you."
+\\" quoted stuff. and so on..
+ zero
+"" a b
+" one
+"" c d
+"  e f
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a comment...should have no slashes.
+\#not a comment either...should have one slash.
+\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect
new file mode 100644 (file)
index 0000000..513e6f3
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to you."
+\\" quoted stuff. and so on..
+ zero
+"" a b
+" one
+"" c d
+" e f
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a comment...should have no slashes.
+\#not a comment either...should have one slash.
+\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0000-quotes_and_escapes-object_and_content.expect
new file mode 100644 (file)
index 0000000..fbaf0a0
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to you."
+\\" quoted stuff. and so on..
+ zero
+"" a b
+" one
+"" c d
+"  e f
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a comment...should have no slashes.
+\#not a comment either...should have one slash.
+\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-columns.expect
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-0.expect
new file mode 100644 (file)
index 0000000..7d47067
--- /dev/null
@@ -0,0 +1 @@
+b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-1.expect
new file mode 100644 (file)
index 0000000..60c84bb
--- /dev/null
@@ -0,0 +1 @@
+d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-line-5.expect
new file mode 100644 (file)
index 0000000..152d451
--- /dev/null
@@ -0,0 +1 @@
+space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-original.expect
new file mode 100644 (file)
index 0000000..e0db8ec
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out  
+space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-0.expect
new file mode 100644 (file)
index 0000000..e0db8ec
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out  
+space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content-trim.expect
new file mode 100644 (file)
index 0000000..e0db8ec
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out  
+space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-content.expect
new file mode 100644 (file)
index 0000000..e0db8ec
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out  
+space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-0.expect
new file mode 100644 (file)
index 0000000..7898192
--- /dev/null
@@ -0,0 +1 @@
+a
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-1.expect
new file mode 100644 (file)
index 0000000..f2ad6c7
--- /dev/null
@@ -0,0 +1 @@
+c
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-at-5.expect
new file mode 100644 (file)
index 0000000..f331ce0
--- /dev/null
@@ -0,0 +1 @@
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-columns.expect
new file mode 100644 (file)
index 0000000..573541a
--- /dev/null
@@ -0,0 +1 @@
+0
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-0.expect
new file mode 100644 (file)
index 0000000..7898192
--- /dev/null
@@ -0,0 +1 @@
+a
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-1.expect
new file mode 100644 (file)
index 0000000..f2ad6c7
--- /dev/null
@@ -0,0 +1 @@
+c
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-line-5.expect
new file mode 100644 (file)
index 0000000..f331ce0
--- /dev/null
@@ -0,0 +1 @@
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-original.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-0.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object-trim.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-0.expect
new file mode 100644 (file)
index 0000000..2ca45de
--- /dev/null
@@ -0,0 +1 @@
+a b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-1.expect
new file mode 100644 (file)
index 0000000..5bc9afa
--- /dev/null
@@ -0,0 +1 @@
+c d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-at-5.expect
new file mode 100644 (file)
index 0000000..4a4ae23
--- /dev/null
@@ -0,0 +1 @@
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-columns.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-columns.expect
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-0.expect
new file mode 100644 (file)
index 0000000..2ca45de
--- /dev/null
@@ -0,0 +1 @@
+a b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-1.expect
new file mode 100644 (file)
index 0000000..5bc9afa
--- /dev/null
@@ -0,0 +1 @@
+c d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-line-5.expect
new file mode 100644 (file)
index 0000000..4a4ae23
--- /dev/null
@@ -0,0 +1 @@
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-original.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-original.expect
new file mode 100644 (file)
index 0000000..61b402d
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out  
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-0.expect
new file mode 100644 (file)
index 0000000..61b402d
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out  
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-1.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-select-5.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-total.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-trim.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content-trim.expect
new file mode 100644 (file)
index 0000000..61b402d
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out  
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content.expect b/level_3/fss_read/tests/runtime/fss_0000/expect/test-0001-unicode-object_and_content.expect
new file mode 100644 (file)
index 0000000..61b402d
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out  
+UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0000/source/test-0000-quotes_and_escapes.fss b/level_3/fss_read/tests/runtime/fss_0000/source/test-0000-quotes_and_escapes.fss
new file mode 100644 (file)
index 0000000..dfe3c4b
--- /dev/null
@@ -0,0 +1,21 @@
+# fss-0000
+Hi there.
+\\hi there
+\\\\\\"Hello to you."
+
+"\\\\\" quoted stuff." and so on..
+
+"" zero
+\"" a b
+\" one
+"""" c d
+"\" " e f
+"\\\\\" sss" there
+
+"\\"\\\" xx" bb
+"\\"\\\"" bb
+
+#comment
+\#not a comment...should have no slashes.
+\\#not a comment either...should have one slash.
+\\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0000/source/test-0001-unicode.fss b/level_3/fss_read/tests/runtime/fss_0000/source/test-0001-unicode.fss
new file mode 100644 (file)
index 0000000..633d860
--- /dev/null
@@ -0,0 +1,8 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+
+мир e␠
+  spaced  out  
+
+ UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-columns.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-0.expect
new file mode 100644 (file)
index 0000000..ee14d0b
--- /dev/null
@@ -0,0 +1 @@
+there.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-1.expect
new file mode 100644 (file)
index 0000000..30e8a65
--- /dev/null
@@ -0,0 +1 @@
+there
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-line-5.expect
new file mode 100644 (file)
index 0000000..b2901ea
--- /dev/null
@@ -0,0 +1 @@
+a b
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-original.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-0.expect
new file mode 100644 (file)
index 0000000..2a7892a
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to
+and
+zero
+a
+one
+c
+e
+there
+bb
+bb
+a
+a
+a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-1.expect
new file mode 100644 (file)
index 0000000..cb89642
--- /dev/null
@@ -0,0 +1,8 @@
+you."
+so
+b
+d
+f
+comment...should
+comment
+comment
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-select-5.expect
new file mode 100644 (file)
index 0000000..d54c2d2
--- /dev/null
@@ -0,0 +1,2 @@
+slash.
+slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content-trim.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-content.expect
new file mode 100644 (file)
index 0000000..e48f357
--- /dev/null
@@ -0,0 +1,15 @@
+there.
+there
+to you."
+and so on..
+zero
+a b
+one
+c d
+e f
+there
+bb
+bb
+a comment...should have no slashes.
+a comment either...should have one slash.
+a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-0.expect
new file mode 100644 (file)
index 0000000..b14df64
--- /dev/null
@@ -0,0 +1 @@
+Hi
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-1.expect
new file mode 100644 (file)
index 0000000..a3c9ded
--- /dev/null
@@ -0,0 +1 @@
+\\hi
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-at-5.expect
new file mode 100644 (file)
index 0000000..e16c76d
--- /dev/null
@@ -0,0 +1 @@
+""
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-columns.expect
new file mode 100644 (file)
index 0000000..573541a
--- /dev/null
@@ -0,0 +1 @@
+0
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-0.expect
new file mode 100644 (file)
index 0000000..b14df64
--- /dev/null
@@ -0,0 +1 @@
+Hi
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-1.expect
new file mode 100644 (file)
index 0000000..a3c9ded
--- /dev/null
@@ -0,0 +1 @@
+\\hi
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-line-5.expect
new file mode 100644 (file)
index 0000000..e16c76d
--- /dev/null
@@ -0,0 +1 @@
+""
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-original.expect
new file mode 100644 (file)
index 0000000..25ede79
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\\"Hello
+"\\\\\" quoted stuff."
+""
+\""
+\"
+""""
+"\" "
+"\\\\\" sss"
+"\\"\\\" xx"
+"\\"\\\""
+\#not
+\\#not
+\\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-0.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-1.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-100.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-select-5.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object-trim.expect
new file mode 100644 (file)
index 0000000..66dcec1
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+"
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object.expect
new file mode 100644 (file)
index 0000000..fcd4c1e
--- /dev/null
@@ -0,0 +1,15 @@
+Hi
+\\hi
+\\\\\"Hello
+\\" quoted stuff.
+
+""
+"
+""
+" 
+\\" sss
+\\"\" xx
+\\"\\\"
+#not
+\#not
+\\#not
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-0.expect
new file mode 100644 (file)
index 0000000..ee4efdb
--- /dev/null
@@ -0,0 +1 @@
+Hi there.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-1.expect
new file mode 100644 (file)
index 0000000..e58bb74
--- /dev/null
@@ -0,0 +1 @@
+\\hi there
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-at-5.expect
new file mode 100644 (file)
index 0000000..ac1d799
--- /dev/null
@@ -0,0 +1 @@
+"" a b
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-columns.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-0.expect
new file mode 100644 (file)
index 0000000..ee4efdb
--- /dev/null
@@ -0,0 +1 @@
+Hi there.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-1.expect
new file mode 100644 (file)
index 0000000..e58bb74
--- /dev/null
@@ -0,0 +1 @@
+\\hi there
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-line-5.expect
new file mode 100644 (file)
index 0000000..ac1d799
--- /dev/null
@@ -0,0 +1 @@
+"" a b
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-original.expect
new file mode 100644 (file)
index 0000000..f249744
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\\"Hello to you."
+"\\\\\" quoted stuff." and so on..
+"" zero
+\"" a b
+\" one
+"""" c d
+"\" " e f
+"\\\\\" sss" there
+"\\"\\\" xx" bb
+"\\"\\\"" bb
+\#not a comment...should have no slashes.
+\\#not a comment either...should have one slash.
+\\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-0.expect
new file mode 100644 (file)
index 0000000..2c4801c
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to
+\\" quoted stuff. and
+ zero
+"" a
+" one
+"" c
+"  e
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a
+\#not a
+\\#not a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-1.expect
new file mode 100644 (file)
index 0000000..4c180b5
--- /dev/null
@@ -0,0 +1,15 @@
+Hi 
+\\hi 
+\\\\\"Hello you."
+\\" quoted stuff. so
+"" b
+" 
+"" d
+"  f
+\\" sss 
+\\"\" xx 
+\\"\\\" 
+#not comment...should
+\#not comment
+\\#not comment
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-100.expect
new file mode 100644 (file)
index 0000000..2ce9bea
--- /dev/null
@@ -0,0 +1,15 @@
+Hi 
+\\hi 
+\\\\\"Hello 
+\\" quoted stuff. 
+"" 
+" 
+"" 
+"  
+\\" sss 
+\\"\" xx 
+\\"\\\" 
+#not 
+\#not 
+\\#not 
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-select-5.expect
new file mode 100644 (file)
index 0000000..2bb26ec
--- /dev/null
@@ -0,0 +1,15 @@
+Hi 
+\\hi 
+\\\\\"Hello 
+\\" quoted stuff. 
+"" 
+" 
+"" 
+"  
+\\" sss 
+\\"\" xx 
+\\"\\\" 
+#not 
+\#not slash.
+\\#not slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-total.expect
new file mode 100644 (file)
index 0000000..60d3b2f
--- /dev/null
@@ -0,0 +1 @@
+15
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content-trim.expect
new file mode 100644 (file)
index 0000000..513e6f3
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to you."
+\\" quoted stuff. and so on..
+ zero
+"" a b
+" one
+"" c d
+" e f
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a comment...should have no slashes.
+\#not a comment either...should have one slash.
+\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0000-quotes_and_escapes-object_and_content.expect
new file mode 100644 (file)
index 0000000..fbaf0a0
--- /dev/null
@@ -0,0 +1,15 @@
+Hi there.
+\\hi there
+\\\\\"Hello to you."
+\\" quoted stuff. and so on..
+ zero
+"" a b
+" one
+"" c d
+"  e f
+\\" sss there
+\\"\" xx bb
+\\"\\\" bb
+#not a comment...should have no slashes.
+\#not a comment either...should have one slash.
+\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-columns.expect
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-0.expect
new file mode 100644 (file)
index 0000000..7d47067
--- /dev/null
@@ -0,0 +1 @@
+b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-1.expect
new file mode 100644 (file)
index 0000000..60c84bb
--- /dev/null
@@ -0,0 +1 @@
+d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-line-5.expect
new file mode 100644 (file)
index 0000000..3b35882
--- /dev/null
@@ -0,0 +1 @@
+space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-original.expect
new file mode 100644 (file)
index 0000000..298aa00
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out
+space! <-- should have the word "space!"
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-0.expect
new file mode 100644 (file)
index 0000000..363bf18
--- /dev/null
@@ -0,0 +1,6 @@
+b
+d
+мир
+e␠
+out
+space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-1.expect
new file mode 100644 (file)
index 0000000..0aca636
--- /dev/null
@@ -0,0 +1,4 @@
+k
+zero​width
+h
+<--
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-select-5.expect
new file mode 100644 (file)
index 0000000..4f5b278
--- /dev/null
@@ -0,0 +1 @@
+word
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content-trim.expect
new file mode 100644 (file)
index 0000000..55cb31b
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out
+space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-content.expect
new file mode 100644 (file)
index 0000000..55cb31b
--- /dev/null
@@ -0,0 +1,6 @@
+b k d3a
+d zero​width
+мир h d3b d4b т
+e␠
+out
+space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-0.expect
new file mode 100644 (file)
index 0000000..7898192
--- /dev/null
@@ -0,0 +1 @@
+a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-1.expect
new file mode 100644 (file)
index 0000000..f2ad6c7
--- /dev/null
@@ -0,0 +1 @@
+c
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-at-5.expect
new file mode 100644 (file)
index 0000000..f331ce0
--- /dev/null
@@ -0,0 +1 @@
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-columns.expect
new file mode 100644 (file)
index 0000000..573541a
--- /dev/null
@@ -0,0 +1 @@
+0
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-0.expect
new file mode 100644 (file)
index 0000000..7898192
--- /dev/null
@@ -0,0 +1 @@
+a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-1.expect
new file mode 100644 (file)
index 0000000..f2ad6c7
--- /dev/null
@@ -0,0 +1 @@
+c
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-line-5.expect
new file mode 100644 (file)
index 0000000..f331ce0
--- /dev/null
@@ -0,0 +1 @@
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-original.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-0.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-1.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-100.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-select-5.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object-trim.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object.expect
new file mode 100644 (file)
index 0000000..2a63ab3
--- /dev/null
@@ -0,0 +1,6 @@
+a
+c
+привет
+мир
+spaced
+UTF
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-0.expect
new file mode 100644 (file)
index 0000000..2ca45de
--- /dev/null
@@ -0,0 +1 @@
+a b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-1.expect
new file mode 100644 (file)
index 0000000..5bc9afa
--- /dev/null
@@ -0,0 +1 @@
+c d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-at-5.expect
new file mode 100644 (file)
index 0000000..a012a2c
--- /dev/null
@@ -0,0 +1 @@
+UTF space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-columns.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-columns.expect
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-0.expect
new file mode 100644 (file)
index 0000000..2ca45de
--- /dev/null
@@ -0,0 +1 @@
+a b k d3a
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-1.expect
new file mode 100644 (file)
index 0000000..5bc9afa
--- /dev/null
@@ -0,0 +1 @@
+c d zero​width
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-100.expect
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-line-5.expect
new file mode 100644 (file)
index 0000000..a012a2c
--- /dev/null
@@ -0,0 +1 @@
+UTF space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-original.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-original.expect
new file mode 100644 (file)
index 0000000..011f926
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out
+UTF space! <-- should have the word "space!"
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-0.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-0.expect
new file mode 100644 (file)
index 0000000..3d33130
--- /dev/null
@@ -0,0 +1,6 @@
+a b
+c d
+привет мир
+мир e␠
+spaced out
+UTF space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-1.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-1.expect
new file mode 100644 (file)
index 0000000..165a425
--- /dev/null
@@ -0,0 +1,6 @@
+a k
+c zero​width
+привет h
+мир 
+spaced 
+UTF <--
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-100.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-100.expect
new file mode 100644 (file)
index 0000000..caa6aca
--- /dev/null
@@ -0,0 +1,6 @@
+a 
+c 
+привет 
+мир 
+spaced 
+UTF 
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-5.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-select-5.expect
new file mode 100644 (file)
index 0000000..c6b70b4
--- /dev/null
@@ -0,0 +1,6 @@
+a 
+c 
+привет 
+мир 
+spaced 
+UTF word
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-total.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-total.expect
new file mode 100644 (file)
index 0000000..1e8b314
--- /dev/null
@@ -0,0 +1 @@
+6
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-trim.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content-trim.expect
new file mode 100644 (file)
index 0000000..a6384b9
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out
+UTF space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content.expect b/level_3/fss_read/tests/runtime/fss_0001/expect/test-0001-unicode-object_and_content.expect
new file mode 100644 (file)
index 0000000..a6384b9
--- /dev/null
@@ -0,0 +1,6 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+мир e␠
+spaced out
+UTF space! <-- should have the word space!
diff --git a/level_3/fss_read/tests/runtime/fss_0001/source/test-0000-quotes_and_escapes.fss b/level_3/fss_read/tests/runtime/fss_0001/source/test-0000-quotes_and_escapes.fss
new file mode 100644 (file)
index 0000000..dfe3c4b
--- /dev/null
@@ -0,0 +1,21 @@
+# fss-0000
+Hi there.
+\\hi there
+\\\\\\"Hello to you."
+
+"\\\\\" quoted stuff." and so on..
+
+"" zero
+\"" a b
+\" one
+"""" c d
+"\" " e f
+"\\\\\" sss" there
+
+"\\"\\\" xx" bb
+"\\"\\\"" bb
+
+#comment
+\#not a comment...should have no slashes.
+\\#not a comment either...should have one slash.
+\\\#not a comment either...should have two slashes.
diff --git a/level_3/fss_read/tests/runtime/fss_0001/source/test-0001-unicode.fss b/level_3/fss_read/tests/runtime/fss_0001/source/test-0001-unicode.fss
new file mode 100644 (file)
index 0000000..633d860
--- /dev/null
@@ -0,0 +1,8 @@
+a b k d3a
+c d zero​width
+привет мир h d3b d4b т
+
+мир e␠
+  spaced  out  
+
+ UTF space! <-- should have the word 'space!'
diff --git a/level_3/fss_read/tests/runtime/script/generate.sh b/level_3/fss_read/tests/runtime/script/generate.sh
new file mode 100644 (file)
index 0000000..3d5c901
--- /dev/null
@@ -0,0 +1,566 @@
+#!/bin.bash
+# license: lgpl-2.1-or-later
+# programmer: Kevin Day
+#
+# Helper script for manually generating tests.
+#
+# This is a simple script that only accepts these arguments in this specific order:
+#   1) The standard, using the 4-digit standard hexidecimal number (may also prepend "test-" to use 'fss_read -A').
+#   2) The source file to read.
+#   3) The destination directory to write to.
+#
+# Tests using the -n/--name will need to be manually created.
+#
+# Note: Either update this script to pass "+FL" as an argument or manually remove the leading/trailing new lines.
+#       Alternatively, once fss_read is complete and working, rewrite this to require fss_read.
+#
+
+generate_main() {
+  local standard="${1}"
+  local file_source="${2}"
+  local path_destination="${3}"
+  local failure=0
+  local test_base=
+  local test_current=
+
+  if [[ $standard == "" ]] ; then
+    echo "ERROR: No standard specified."
+
+    return 1
+  fi
+
+  if [[ $file_source == "" ]] ; then
+    echo "ERROR: No source file specified."
+
+    return 1
+  fi
+
+  if [[ $path_destination == "" ]] ; then
+    echo "ERROR: No destination path specified."
+
+    return 1
+  fi
+
+  file_source=$(echo ${file_source} | sed -e 's|^//*|/|' -e 's|//*|/|' -e 's|/*$||')
+  path_destination=$(echo ${path_destination} | sed -e 's|^//*|/|' -e 's|/*$|/|')
+
+  if [[ ! -f ${file_source} ]] ; then
+    echo "ERROR: The source file '${file_source}' either does not exist or is not a file."
+
+    return 1
+  fi
+
+  if [[ ! -d ${path_destination} ]] ; then
+    echo "ERROR: The destination path '${path_destination}' either does not exist or is not a directory."
+
+    return 1
+  fi
+
+  test_base=$(echo $file_source | sed -e 's|.*/||g' -e 's|\..*$||')
+  test_current="${path_destination}${test_base}-"
+
+  if [[ ${1} == "0000" ]] ; then
+    generate_operate_0000
+  elif [[ ${1} == "0001" ]] ; then
+    generate_operate_0001
+  elif [[ ${1} == "0002" ]] ; then
+    generate_operate_0002
+  elif [[ ${1} == "0003" ]] ; then
+    generate_operate_0003
+  elif [[ ${1} == "0008" ]] ; then
+    generate_operate_0008
+  elif [[ ${1} == "000e" ]] ; then
+    generate_operate_000e
+  elif [[ ${1} == "test-0000" ]] ; then
+    generate_operate_test_standard
+  elif [[ ${1} == "test-0001" ]] ; then
+    generate_operate_test_standard
+  elif [[ ${1} == "test-0002" ]] ; then
+    generate_operate_test_standard
+  elif [[ ${1} == "test-0003" ]] ; then
+    generate_operate_test_standard
+  elif [[ ${1} == "test-0008" ]] ; then
+    generate_operate_test_standard
+  elif [[ ${1} == "test-000e" ]] ; then
+    generate_operate_test_standard
+  fi
+
+  if [[ ${failure} -eq 1 ]] ; then
+    return 1
+  fi
+
+  return 0
+}
+
+generate_operate_0000() {
+
+  fss_basic_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_basic_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_basic_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_basic_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_basic_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_basic_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_basic_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_basic_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_basic_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_basic_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_basic_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_basic_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_basic_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_basic_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_basic_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_basic_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_basic_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_basic_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_basic_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_basic_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_basic_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_basic_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_basic_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_basic_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_basic_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_basic_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_basic_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_basic_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_basic_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_basic_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_basic_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_basic_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_basic_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_basic_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_basic_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_basic_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_basic_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_basic_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_basic_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_basic_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_basic_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_basic_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_basic_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_basic_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_basic_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_basic_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_basic_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_basic_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_basic_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_basic_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_basic_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_0001() {
+
+  fss_extended_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_extended_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_extended_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_extended_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_extended_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_extended_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_extended_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_extended_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_extended_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_extended_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_extended_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_extended_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_extended_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_extended_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_extended_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_extended_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_extended_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_extended_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_extended_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_extended_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_extended_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_extended_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_extended_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_extended_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_extended_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_extended_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_extended_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_extended_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_extended_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_extended_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_extended_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_extended_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_extended_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_extended_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_extended_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_extended_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_extended_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_extended_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_extended_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_extended_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_extended_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_extended_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_extended_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_extended_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_extended_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_extended_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_extended_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_extended_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_extended_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_extended_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_extended_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_0002() {
+
+  fss_basic_list_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_basic_list_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_basic_list_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_basic_list_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_basic_list_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_basic_list_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_basic_list_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_basic_list_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_basic_list_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_basic_list_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_basic_list_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_basic_list_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_basic_list_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_basic_list_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_basic_list_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_basic_list_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_basic_list_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_basic_list_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_basic_list_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_basic_list_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_basic_list_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_basic_list_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_basic_list_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_basic_list_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_basic_list_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_basic_list_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_basic_list_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_basic_list_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_basic_list_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_basic_list_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_basic_list_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_basic_list_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_basic_list_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_basic_list_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_basic_list_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_basic_list_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_basic_list_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_basic_list_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_basic_list_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_basic_list_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_basic_list_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_basic_list_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_basic_list_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_basic_list_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_basic_list_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_basic_list_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_basic_list_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_basic_list_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_basic_list_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_basic_list_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_basic_list_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_0003() {
+
+  fss_extended_list_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_extended_list_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_extended_list_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_extended_list_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_extended_list_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_extended_list_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_extended_list_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_extended_list_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_extended_list_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_extended_list_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_extended_list_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_extended_list_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_extended_list_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_extended_list_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_extended_list_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_extended_list_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_extended_list_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_extended_list_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_extended_list_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_extended_list_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_extended_list_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_extended_list_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_extended_list_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_extended_list_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_extended_list_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_extended_list_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_extended_list_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_extended_list_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_extended_list_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_extended_list_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_extended_list_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_extended_list_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_extended_list_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_extended_list_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_extended_list_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_extended_list_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_extended_list_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_extended_list_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_extended_list_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_extended_list_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_extended_list_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_extended_list_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_extended_list_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_extended_list_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_extended_list_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_extended_list_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_extended_list_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_extended_list_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_extended_list_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_extended_list_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_extended_list_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_0008() {
+
+  fss_embedded_list_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_embedded_list_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_embedded_list_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_embedded_list_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_embedded_list_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_embedded_list_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_embedded_list_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_embedded_list_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_embedded_list_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_embedded_list_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_embedded_list_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_embedded_list_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_embedded_list_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_embedded_list_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_embedded_list_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_embedded_list_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_embedded_list_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_embedded_list_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_embedded_list_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_embedded_list_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_embedded_list_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_embedded_list_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_embedded_list_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_embedded_list_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_embedded_list_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_embedded_list_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_embedded_list_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_embedded_list_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_embedded_list_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_embedded_list_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_embedded_list_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_embedded_list_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_embedded_list_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_embedded_list_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_embedded_list_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_embedded_list_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_embedded_list_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_embedded_list_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_embedded_list_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_embedded_list_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_embedded_list_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_embedded_list_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_embedded_list_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_embedded_list_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_embedded_list_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_embedded_list_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_embedded_list_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_embedded_list_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_embedded_list_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_embedded_list_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_embedded_list_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_000e() {
+
+  fss_payload_read +n -c ${file_source} > ${test_current}content.expect &&
+  fss_payload_read +n -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_payload_read +n -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_payload_read +n -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_payload_read +n -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_payload_read +n -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_payload_read +n -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_payload_read +n -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_payload_read +n -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_payload_read +n -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_payload_read +n -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_payload_read +n -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_payload_read +n -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_payload_read +n -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_payload_read +n -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_payload_read +n -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_payload_read +n -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_payload_read +n -o ${file_source} > ${test_current}object.expect &&
+  fss_payload_read +n -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_payload_read +n -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_payload_read +n -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_payload_read +n -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_payload_read +n -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_payload_read +n -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_payload_read +n -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_payload_read +n -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_payload_read +n -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_payload_read +n -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_payload_read +n -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_payload_read +n -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_payload_read +n -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_payload_read +n -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_payload_read +n -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_payload_read +n -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_payload_read +n -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_payload_read +n -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_payload_read +n -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_payload_read +n -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_payload_read +n -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_payload_read +n -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_payload_read +n -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_payload_read +n -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_payload_read +n -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_payload_read +n -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_payload_read +n -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_payload_read +n -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_payload_read +n -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_payload_read +n -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_payload_read +n -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_payload_read +n -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_payload_read +n -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation Complete"
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=0
+  fi
+
+  return $failure
+}
+
+generate_operate_test_standard() {
+  standard=$(echo "${standard}" | sed -e 's|^test-||')
+
+  fss_read +FLn -A ${standard} -c ${file_source} > ${test_current}content.expect &&
+  fss_read +FLn -A ${standard} -cO ${file_source} > ${test_current}content-original.expect &&
+  fss_read +FLn -A ${standard} -ct ${file_source} > ${test_current}content-total.expect &&
+  fss_read +FLn -A ${standard} -cT ${file_source} > ${test_current}content-trim.expect &&
+  fss_read +FLn -A ${standard} -cl 0 ${file_source} > ${test_current}content-line-0.expect &&
+  fss_read +FLn -A ${standard} -cl 1 ${file_source} > ${test_current}content-line-1.expect &&
+  fss_read +FLn -A ${standard} -cl 5 ${file_source} > ${test_current}content-line-5.expect &&
+  fss_read +FLn -A ${standard} -cl 100 ${file_source} > ${test_current}content-line-100.expect &&
+  fss_read +FLn -A ${standard} -cs 0 ${file_source} > ${test_current}content-select-0.expect &&
+  fss_read +FLn -A ${standard} -cs 1 ${file_source} > ${test_current}content-select-1.expect &&
+  fss_read +FLn -A ${standard} -cs 5 ${file_source} > ${test_current}content-select-5.expect &&
+  fss_read +FLn -A ${standard} -cs 100 ${file_source} > ${test_current}content-select-100.expect &&
+  fss_read +FLn -A ${standard} -cC ${file_source} > ${test_current}content-columns.expect &&
+  fss_read +FLn -A ${standard} -ca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_read +FLn -A ${standard} -ca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_read +FLn -A ${standard} -ca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_read +FLn -A ${standard} -ca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  fss_read +FLn -A ${standard} -o ${file_source} > ${test_current}object.expect &&
+  fss_read +FLn -A ${standard} -oO ${file_source} > ${test_current}object-original.expect &&
+  fss_read +FLn -A ${standard} -ot ${file_source} > ${test_current}object-total.expect &&
+  fss_read +FLn -A ${standard} -oT ${file_source} > ${test_current}object-trim.expect &&
+  fss_read +FLn -A ${standard} -ol 0 ${file_source} > ${test_current}object-line-0.expect &&
+  fss_read +FLn -A ${standard} -ol 1 ${file_source} > ${test_current}object-line-1.expect &&
+  fss_read +FLn -A ${standard} -ol 5 ${file_source} > ${test_current}object-line-5.expect &&
+  fss_read +FLn -A ${standard} -ol 100 ${file_source} > ${test_current}object-line-100.expect &&
+  fss_read +FLn -A ${standard} -os 0 ${file_source} > ${test_current}object-select-0.expect &&
+  fss_read +FLn -A ${standard} -os 1 ${file_source} > ${test_current}object-select-1.expect &&
+  fss_read +FLn -A ${standard} -os 5 ${file_source} > ${test_current}object-select-5.expect &&
+  fss_read +FLn -A ${standard} -os 100 ${file_source} > ${test_current}object-select-100.expect &&
+  fss_read +FLn -A ${standard} -oC ${file_source} > ${test_current}object-columns.expect &&
+  fss_read +FLn -A ${standard} -oa 0 ${file_source} > ${test_current}object-at-0.expect &&
+  fss_read +FLn -A ${standard} -oa 1 ${file_source} > ${test_current}object-at-1.expect &&
+  fss_read +FLn -A ${standard} -oa 5 ${file_source} > ${test_current}object-at-5.expect &&
+  fss_read +FLn -A ${standard} -oa 100 ${file_source} > ${test_current}object-at-100.expect &&
+
+  fss_read +FLn -A ${standard} -oc ${file_source} > ${test_current}object_and_content.expect &&
+  fss_read +FLn -A ${standard} -ocO ${file_source} > ${test_current}object_and_content-original.expect &&
+  fss_read +FLn -A ${standard} -oct ${file_source} > ${test_current}object_and_content-total.expect &&
+  fss_read +FLn -A ${standard} -ocT ${file_source} > ${test_current}object_and_content-trim.expect &&
+  fss_read +FLn -A ${standard} -ocl 0 ${file_source} > ${test_current}object_and_content-line-0.expect &&
+  fss_read +FLn -A ${standard} -ocl 1 ${file_source} > ${test_current}object_and_content-line-1.expect &&
+  fss_read +FLn -A ${standard} -ocl 5 ${file_source} > ${test_current}object_and_content-line-5.expect &&
+  fss_read +FLn -A ${standard} -ocl 100 ${file_source} > ${test_current}object_and_content-line-100.expect &&
+  fss_read +FLn -A ${standard} -ocs 0 ${file_source} > ${test_current}object_and_content-select-0.expect &&
+  fss_read +FLn -A ${standard} -ocs 1 ${file_source} > ${test_current}object_and_content-select-1.expect &&
+  fss_read +FLn -A ${standard} -ocs 5 ${file_source} > ${test_current}object_and_content-select-5.expect &&
+  fss_read +FLn -A ${standard} -ocs 100 ${file_source} > ${test_current}object_and_content-select-100.expect &&
+  fss_read +FLn -A ${standard} -ocC ${file_source} > ${test_current}object_and_content-columns.expect &&
+  fss_read +FLn -A ${standard} -oca 0 ${file_source} > ${test_current}object_and_content-at-0.expect &&
+  fss_read +FLn -A ${standard} -oca 1 ${file_source} > ${test_current}object_and_content-at-1.expect &&
+  fss_read +FLn -A ${standard} -oca 5 ${file_source} > ${test_current}object_and_content-at-5.expect &&
+  fss_read +FLn -A ${standard} -oca 100 ${file_source} > ${test_current}object_and_content-at-100.expect &&
+
+  echo "Generation complete."
+
+  if [[ $? -ne 0 ]] ; then
+    let failure=1
+
+    echo "Generation failed."
+  fi
+
+  return $failure
+}
+
+generate_cleanup() {
+
+  unset generate_main
+  unset generate_operate_0000
+  unset generate_operate_0001
+  unset generate_operate_0002
+  unset generate_operate_0003
+  unset generate_operate_0008
+  unset generate_operate_000e
+  unset generate_operate_test_standard
+  unset generate_cleanup
+}
+
+generate_main $*
diff --git a/level_3/fss_read/tests/runtime/script/verify.sh b/level_3/fss_read/tests/runtime/script/verify.sh
new file mode 100644 (file)
index 0000000..de43375
--- /dev/null
@@ -0,0 +1,122 @@
+#!/bin.bash
+# license: lgpl-2.1-or-later
+# programmer: Kevin Day
+#
+# Helper script for manually verifying tests.
+#
+# This is a simple script that only accepts these arguments in this specific order:
+#   1) The build path containing the program output files for each test.
+#   2) The expect path containing the generated and expected program output files for each test to match against.
+#
+# Note: Either update this script to pass "+FL" as an argument or manually remove the leading/trailing new lines.
+#
+
+verify_main() {
+  local path_build="${1}"
+  local path_expect="${2}"
+  local failure=0
+  local basename_file=
+  local hash_build=
+  local hash_expect=
+
+  if [[ $path_build == "" ]] ; then
+    echo "ERROR: No build path specified."
+
+    return 1
+  fi
+
+  if [[ $path_expect == "" ]] ; then
+    echo "ERROR: No expect path specified."
+
+    return 1
+  fi
+
+  path_build=$(echo ${path_build} | sed -e 's|^//*|/|' -e 's|/*$|/|')
+  path_expect=$(echo ${path_expect} | sed -e 's|^//*|/|' -e 's|/*$|/|')
+
+  if [[ ! -d ${path_build} ]] ; then
+    echo "ERROR: The build path '${path_build}' either does not exist or is not a directory."
+
+    return 1
+  fi
+
+  if [[ ! -d ${path_expect} ]] ; then
+    echo "ERROR: The expect path '${path_expect}' either does not exist or is not a directory."
+
+    return 1
+  fi
+
+  verify_operate_test_standard
+
+  if [[ ${failure} -eq 1 ]] ; then
+    return 1
+  fi
+
+  return 0
+}
+
+verify_operate_test_standard() {
+
+  for i in ${path_build}* ; do
+
+    basename_file=$(basename ${i})
+
+    if [[ $? -ne 0 ]] ; then
+      echo "ERROR: basename ${i} failed."
+
+      let failure=1
+
+      break
+    fi
+
+    hash_build=$(md5sum ${path_build}${basename_file} | sed -e 's| .*$||')
+
+    if [[ $? -ne 0 ]] ; then
+      echo "ERROR: md5sum ${path_build}${basename_file} | sed -e 's| .*$||' failed."
+
+      let failure=1
+
+      break
+    fi
+
+    hash_expect=$(md5sum ${path_expect}${basename_file} | sed -e 's| .*$||')
+
+    if [[ $? -ne 0 ]] ; then
+      echo "ERROR: md5sum ${path_expect}${basename_file} | sed -e 's| .*$||' failed."
+
+      let failure=1
+
+      break
+    fi
+
+    basename_file=$(echo -n ${basename_file} | sed -e 's|\.expect$||')
+
+    if [[ $hash_build == $hash_expect ]] ; then
+      echo "[ Success ] = ${basename_file}."
+    else
+      echo "[ Failure ] = ${basename_file}."
+
+      let failure=1
+    fi
+
+  done
+
+  echo
+
+  if [[ $failure -eq 1 ]] ; then
+    echo "Failure! Some or all tests failed."
+  else
+    echo "Success! All tests passed."
+  fi
+
+  return $failure
+}
+
+verify_cleanup() {
+
+  unset verify_main
+  unset verify_operate_test_standard
+  unset verify_cleanup
+}
+
+verify_main $*