Build-test fixtures that no longer test what they claim
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, node.js, ocaml
- 領域
- testing
調査の方向性
tests/build_tests/rescript_tools_binary_path/input.jsとそのfixtureの設定を読み、weird_depsとweird_devdepsのrescript.jsonファイルを調べてください。rescript_tools_binary_path用のfixture package.jsonを追加し、他のfixtureのsourcesを空のリストに設定してください。fixtureが意図したパッケージのインポート動作を検証し、削除済みのソースフォルダーを列挙しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Found by adversarial experiments on semantic analysts.
Each item below is a build-test fixture whose setup no longer matches its purpose.
-
rescript_tools_binary_pathpasses with the import it guards against.input.jsruns the compiledsrc/Main.mjsandsrc/Main.cjsinside the repository.- The fixture has no
package.json, so Node resolves#specifiers in those files against the repository rootpackage.json, which defines#cli/*. - The bug fixed by #8694 (
@module("#cli/bins")emitted into user code) therefore does not reproduce here. The commit message of 45446347c says the test uses its own package.json, but none is checked in. - Reproduction at 8d51b9ce7 in
tests/build_tests/rescript_tools_binary_path, withnode_modules/rescriptlinked to the repo root asinput.jsdoes. The two files contain the JS that bsc emits for the pre-#8694 external:printf 'import * as Bins from "#cli/bins";\nconsole.log(Bins.rescript_tools_exe);\n' > src/Old.mjs printf 'let Bins = require("#cli/bins");\nconsole.log(Bins.rescript_tools_exe);\n' > src/Old.cjs node src/Old.mjs; node src/Old.cjs # both print …/bin/rescript-tools.exe echo '{"name":"user-project","private":true}' > package.json node src/Old.mjs # ERR_PACKAGE_IMPORT_NOT_DEFINED node src/Old.cjs # Error: Cannot find module '#cli/bins' - With that
package.jsonin place, the currentMain.mjsandMain.cjs(importingrescript/tools) still print the binary path. - Fix: check in a fixture
package.json.
-
weird_depsandweird_devdepslist deleted source folders.weird_deps/rescript.jsonandweird_devdeps/rescript.jsonlistsrcandtest, which 4a94e486d (#8709) deleted.- The tests pass because the unresolved-dependency error is reported first.
"sources": []would state the intended setup.
- 主要言語
- OCaml
- スター
- 7.5k
- フォーク
- 484
- 平均マージ
- 18時間 19分
- マージ済み PR(30日)
- 116
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rescript-lang/rescript のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
rescript-lang/rescript#8833 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
rewatch watch on Linux stops watching a source folder when an overlapping recursive source folder is removed from rescript.json対応中かも @cknitt が 1 日前に担当しました。 オープン
難易度 4/5 1〜2日 初心者へのやさしさ 35/100
rescript-lang/rescript#8825 ·
メンテナーはふだん 1 日以内に返信
-
Formatter drops comments in dict patterns, variant spread patterns and dict literal spreads対応中かも @cknitt が 1 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
rescript-lang/rescript#8820 ·
メンテナーはふだん 1 日以内に返信
-
JSX preserve mode spreads an `@unboxed` props record (`{..."x"}` instead of `"x"`)対応中かも @cknitt が 1 日前に担当しました。 オープン
難易度 4/5 1〜2日 初心者へのやさしさ 25/100
rescript-lang/rescript#8813 ·
メンテナーはふだん 1 日以内に返信
-
Compiler crash (matching.ml assertion) on dict and optional-field record patterns mixing a value and `?None` on one key対応中かも @cknitt が 1 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rescript-lang/rescript#8810 ·
メンテナーはふだん 1 日以内に返信
rescript-lang/rescript の issue をすべて見る
似ている issue
-
todo type: feature
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
RocketChat/Rocket.Chat#42730 ·
メンテナーはふだん 1 日以内に返信
-
replay: a run cancelled during environment setup is logged as an ERROR (Instrument drops the cancellation)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
career-ops-hq/career-ops#5183 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 80/100
gems-uff/noworkflow#233 ·
-
lane:repo
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SPARDiffData/differential-data-collection#42 ·
メンテナーはふだん 1 日以内に返信