diff options
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | README.md | 12 | ||||
| -rw-r--r-- | tests/check.py | 12 |
3 files changed, 15 insertions, 15 deletions
@@ -3,7 +3,7 @@ CFLAGS ?= -O2 -g CFLAGS += -std=c17 -Wall -Wextra -Wpedantic -Werror BUILD ?= build # The Pure checkout that owns the module format; tests load every module with it. -PURE ?= ../pure/prototypes/connections +PURE ?= ../pure .PHONY: all check all: $(BUILD)/aup @@ -15,6 +15,6 @@ $(BUILD)/aup: src/main.c src/compile.c src/aup.h | $(BUILD) $(CC) $(CPPFLAGS) $(CFLAGS) src/main.c src/compile.c $(LDFLAGS) $(LDLIBS) -o $@ check: $(BUILD)/aup - $(MAKE) -C $(PURE) BUILD=build build/pure-run build/pure-edit-module build/pure-serve - $(MAKE) -C $(PURE) BUILD=build/tree STORE=store-tree.c build/tree/pure-edit build/tree/pure-connections + $(MAKE) -C $(PURE) build/pure-run build/pure-edit-module build/pure-serve + $(MAKE) -C $(PURE)/prototypes/connections BUILD=build/tree STORE=store-tree.c build/tree/pure-edit build/tree/pure-connections python3 tests/check.py --aup $(BUILD)/aup --pure-run $(PURE)/build/pure-run --pure $(PURE) @@ -17,18 +17,18 @@ v0c(레코드·리스트·`index of`·조건식·표 보기·`fn`·`use` 라이� make # build/aup build/aup build examples/counter.aup -o counter.pmod build/aup watch examples/counter.aup -o counter.pmod # 저장할 때마다 다시 빌드(vega ... --watch가 받아 바꾼다) -printf 'down tap\nup tap\nshow\n' | ../pure/prototypes/connections/build/pure-run counter.pmod +printf 'down tap\nup tap\nshow\n' | ../pure/build/pure-run counter.pmod build/aup build examples/notes.aup -o notes.pmod -printf 'type typed %s\ndown left\nshow\n' "$(printf '안녕' | xxd -p)" | ../pure/prototypes/connections/build/pure-run notes.pmod +printf 'type typed %s\ndown left\nshow\n' "$(printf '안녕' | xxd -p)" | ../pure/build/pure-run notes.pmod build/aup build examples/tasks.aup -o tasks.pmod -printf 'type typed %s\ndown again\ndown toggle\nshow\n' "$(printf '우유' | xxd -p)" | ../pure/prototypes/connections/build/pure-run tasks.pmod -../pure/prototypes/connections/build/pure-run tasks.pmod --store /tmp/tasks < /dev/null # 상태는 저장소에 남는다 +printf 'type typed %s\ndown again\ndown toggle\nshow\n' "$(printf '우유' | xxd -p)" | ../pure/build/pure-run tasks.pmod +../pure/build/pure-run tasks.pmod --store /tmp/tasks < /dev/null # 상태는 저장소에 남는다 build/aup build examples/editor.aup -o editor.pmod -../pure/prototypes/connections/build/pure-edit-module --module editor.pmod --store /tmp/docs show note +../pure/build/pure-edit-module --module editor.pmod --store /tmp/docs show note make check # Pure 검증, 결정성, 진단, 워크벤치·기존 편집기·text·리스트 참조 모델과의 대조, 재시작을 끼운 영속 대조 ``` -`make check`는 옆의 Pure 체크아웃(`PURE=../pure/prototypes/connections`)의 검증기와 시험 호스트를 쓰고, +`make check`는 옆의 Pure 체크아웃(`PURE=../pure`)의 검증기와 시험 호스트를 쓰고, 워크벤치 대조에는 Node가 필요하다. ## 원칙 diff --git a/tests/check.py b/tests/check.py index dfec9d5..1666ed7 100644 --- a/tests/check.py +++ b/tests/check.py @@ -444,9 +444,9 @@ def properties(aup, pure_run, work, rounds): def editor_parity(aup, pure, work, seeds, operations=160): """Differential run of the old and the new editor on separate stores.""" - old, new = pure / 'build/tree/pure-edit', pure / 'build/pure-edit-module' - variants = [('examples/editor.aup', pure / 'examples/editor.pure'), - ('examples/bounded-editor.aup', pure / 'examples/bounded-editor.pure')] + old, new = pure / 'prototypes/connections/build/tree/pure-edit', pure / 'build/pure-edit-module' + variants = [('examples/editor.aup', pure / 'prototypes/connections/examples/editor.pure'), + ('examples/bounded-editor.aup', pure / 'prototypes/connections/examples/bounded-editor.pure')] compared, outcomes = 0, {} for source, program in variants: module = work / (Path(source).stem + '.pmod') @@ -802,7 +802,7 @@ def server_parity(aup, pure, work, seeds, operations=150, threads=1): compared = 0 for seed in seeds: rng = random.Random(seed + 13000) - old = HttpHost([pure / 'build/tree/pure-connections', '--program', pure / 'examples/editor.pure', + old = HttpHost([pure / 'prototypes/connections/build/tree/pure-connections', '--program', pure / 'prototypes/connections/examples/editor.pure', '--store', work / f'http-old-{seed}-{threads}']) new = HttpHost([pure / 'build/pure-serve', '--module', module, '--store', work / f'http-new-{seed}-{threads}', '--threads', str(threads)]) @@ -1084,7 +1084,7 @@ def server_bursts(aup, pure, work, clients=8, edits=30, shards=1): return threads, start timings = {} - for name, args in [('program', [pure / 'build/tree/pure-connections', '--program', pure / 'examples/editor.pure']), + for name, args in [('program', [pure / 'prototypes/connections/build/tree/pure-connections', '--program', pure / 'prototypes/connections/examples/editor.pure']), ('module', [pure / 'build/pure-serve', '--module', module, '--threads', str(shards)])]: host = HttpHost(args + ['--store', work / f'bursts-{name}-{shards}']) acknowledged = [(0, 0)] * clients @@ -2319,7 +2319,7 @@ def main(): parser = argparse.ArgumentParser() parser.add_argument('--aup', type=Path, required=True) parser.add_argument('--pure-run', type=Path, required=True) - parser.add_argument('--pure', type=Path, default=ROOT.parent / 'pure' / 'prototypes' / 'connections') + parser.add_argument('--pure', type=Path, default=ROOT.parent / 'pure') parser.add_argument('--editor-seeds', type=int, default=4) parser.add_argument('--text-seeds', type=int, default=12) parser.add_argument('--workbench', type=Path, default=ROOT.parent / 'pure' / 'prototypes' / 'workbench') |
