aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-27 13:48:55 +0100
committereunhhu <[email protected]>2026-09-27 13:48:55 +0100
commitc08c570d465ffa22c772c2c4d0910eb8a17a379e (patch)
tree3a4d6e2c25f259f97c5a629d3862f020cf1ae7bd /docs/design
parent628e72621693af9be8bf94ef42f3164c45763a7b (diff)
downloadpure-c08c570d465ffa22c772c2c4d0910eb8a17a379e.tar.gz
pure-c08c570d465ffa22c772c2c4d0910eb8a17a379e.zip
Check pure-serve in Pure, not in aup
The HTTP host's end-to-end checks (documents against the earlier server, lending, kill -9 durability, JSON, timers, links, webhooks and answers) sat in aup's tests, so a change to the host was verified from the toolchain. They now live in tests/check.py; make check builds their apps with the sibling aup and runs them after the unit tests, which stay beside their parts. Design 009 states the rule for all three repositories.
Diffstat (limited to 'docs/design')
-rw-r--r--docs/design/008-module-format.md2
-rw-r--r--docs/design/009-layout.md5
2 files changed, 6 insertions, 1 deletions
diff --git a/docs/design/008-module-format.md b/docs/design/008-module-format.md
index 84aa97b..b70b8f0 100644
--- a/docs/design/008-module-format.md
+++ b/docs/design/008-module-format.md
@@ -358,7 +358,7 @@ text·리스트가 남을 때만 위치를 유지한다.
응답만 복사한다. PUT 응답은 요청 본문에서 빌려야 하므로 `edit` 핸들러는 메시지 필드만 응답할 수
있다(`reply edit.insert`). 시작할 때 확인한다.
-성능과 비교는 [연구 075](../research/075-http-host-against-axum.md). 검증(aup `make check`): 무작위 요청에 기존 서버와
+성능과 비교는 [연구 075](../research/075-http-host-against-axum.md). 검증(Pure `make check`의 `tests/check.py`, 앱은 aup가 빌드): 무작위 요청에 기존 서버와
상태 코드·ETag·오류·본문이 같고, 동시 편집이 커밋을 나누어 쓰며, `kill -9` 뒤에도 확인 응답한 편집이 모두 남는다.
앱 라우트는 키 있는 리스트 앱에 무작위 POST(쿼리 필드와 본문을 가진 메시지, text, 키)와 GET(수, text, 표의 쪽)을
800번 보내 상태 코드·오류·본문·JSON 행이 파이썬 모델과 같고, 멈췄다 다시 띄워도, 여섯 클라이언트가 보내는 중에
diff --git a/docs/design/009-layout.md b/docs/design/009-layout.md
index 17d6a48..bcaf64e 100644
--- a/docs/design/009-layout.md
+++ b/docs/design/009-layout.md
@@ -33,6 +33,11 @@
| `cli/` | 명령행 호스트 | `build/pure-run`, `build/pure-edit-module` |
| `prototypes/` | 이전 문서 런타임. `core/`와 `store/`를 가져다 빌드한다 | `make -C prototypes/connections` |
+검사도 부품을 따른다. 부품의 단위 검사는 그 옆에(`core/test-module.c`, `store/test-tree-store.c`), 저장소 전체를 끝에서
+끝까지 보는 검사는 `tests/check.py`에 둔다. aup와 Vega도 같다(aup `compiler/`, Vega `lib/`·`surfaces/`·`symbols/`, 둘 다
+`tests/check.py`). pure-serve의 HTTP 검사는 전에 aup의 검사 안에 있었다. 호스트를 바꾸면 aup에서 확인해야 했던 것이다.
+이제 Pure의 `make check`가 aup로 앱을 빌드해 돌린다(Vega가 aup와 pure-serve를 쓰는 것과 같은 방향이다).
+
저장소 계약(`state.h`, `store.h`)은 코어 쪽에 둔다. 코어가 필요한 것을 정하고 저장소 구현이 그것을 채운다. 트리
저장소는 그 계약의 한 구현이다(이전 세대의 `store.c`, `store-paged.c`도 `store.h`의 구현이다).