Asserting on syntax paths in analysis tests
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 領域
- testing-qa, tooling
調査の方向性
Issue に記載されている分析テストケースと #lang resyntax/test のアサーション形式から始めてください。既存の @assert の動作を @within ... @inspect ... オプションと比較し、構文パス形式について issue #653 を確認してください。分析テストで、繰り返されるコードブロックを扱え、テスト作成者にとって有用な方法で構文パス参照をアサートできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Currently, analysis-test test cases can only make assertions about analyzer property values being basic literal datums like strings, numbers, and symbols. But it's very useful for analyzers to add cross-references between different syntax objects using syntax paths, and analysis tests should be able to make assertions about that. One way for this to work would be to support the string syntax path format mentioned in #653 as a literal datum in #lang resyntax/test.
Another might be to do something like the @within ... @inspect ... options, like an @assertReferences <codeblock> @within <codeblock> alternative to @assert <value>, which would assert that the tested property value is a syntax path referring to a part of the test program identified by <codeblock> @within <codeblock>. Like @within <codeblock> @inspect <codeblock>, the @within <codeblock> part should be optional and its purpose is to disambiguate when the expected code block occurs multiple times within the test program.
The latter approach seems better from a user perspective, because it's difficult to tell what a syntax path corresponds to in a given textual program. Syntax paths are much more useful when looking at raw S-expressions than arbitrary surface syntax code strings.
- 主要言語
- Racket
- スター
- 70
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
jackfirth/resyntax のほかの issue
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
documentation
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
testing
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
testing
難易度 3/5 1〜2日 初心者へのやさしさ 75/100
-
testing
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
jackfirth/resyntax の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
jaegertracing/jaeger-ui#4506 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. オープンbot:ai-assisted component:indexer QA-roadmap status:untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
midnightntwrk/midnight-indexer#1557 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Luminous-Dynamics/mycelix#3069 ·
-
bug ci good first issue needs testing
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100