Error in test runner prevents test from completing its run.
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- godot
- 領域
- testing
調査の方向性
Start by reading res://script_checking/PracticeTester.gd:72 and the callers in res://ui/UIPractice.gd:611 and :613, then inspect res://ui/screens/practice/PracticeInfoPanel.gd:92. Reproduce the reported failure with the L24.P1 inventory example, where a string value triggers errors in the test script. Done means valid student code that causes a test script error no longer leaves the checking screen frozen and the test run completes.
索引モデルが issue の本文から書いたものです。
説明
Reported in L24.P1: a script error that affects the test script does not surface to the user and prevents the test from completing.
Entering a string into L24P1 will freeze the checking screen.
Technical information:
- Location: L24.P1 - Creating Dictionaries > Creating an inventory using a dictionary
- File: res://course/lesson-25-creating-dictionaries/lesson.bbcode
- Platform: Web
- Commit: 42cfa87
Code from the current practice
var inventory = { "healing heart": 3, "gems": 9, "sword": "A" }
The specific thing to look to fix is not about allowing people to enter string values in dicts. It's a more general problem: We want to be able to recover from valid code that triggers errors in the test scripts and still complete the test runs.
Just tested, trace:
SCRIPT ERROR: Invalid type in function 'display_item' in base 'PanelContainer (-9223371222153161384.gd)'. Cannot convert argument 2 from String to int.
at: run (gdscript://-9223371222153161384.gd:38)
GDScript backtrace (most recent call first):
[0] run (gdscript://-9223371222153161384.gd:38)
[1] _run (gdscript://-9223371222153161384.gd:43)
[2] _run_if_valid (res://ui/UIPractice.gd:930)
SCRIPT ERROR: Invalid operands 'int' and 'String' in operator '=='.
at: test_inventory_has_correct_values (res://course/lesson-25-creating-dictionaries/creating-inventory/TestInventory.gd:50)
GDScript backtrace (most recent call first):
[0] test_inventory_has_correct_values (res://course/lesson-25-creating-dictionaries/creating-inventory/TestInventory.gd:50)
[1] run_tests (res://script_checking/PracticeTester.gd:72)
[2] _test_student_code (res://ui/UIPractice.gd:611)
[3] _run (gdscript://-9223371222153161384.gd:45)
SCRIPT ERROR: Trying to assign value of type 'Nil' to a variable of type 'String'.
at: run_tests (res://script_checking/PracticeTester.gd:72)
GDScript backtrace (most recent call first):
[0] run_tests (res://script_checking/PracticeTester.gd:72)
[1] _test_student_code (res://ui/UIPractice.gd:611)
[2] _run (gdscript://-9223371222153161384.gd:45)
SCRIPT ERROR: Invalid access to property or key 'errors' on a base object of type 'Nil'.
at: PracticeInfoPanel.set_tests_status (res://ui/screens/practice/PracticeInfoPanel.gd:92)
GDScript backtrace (most recent call first):
[0] set_tests_status (res://ui/screens/practice/PracticeInfoPanel.gd:92)
[1] _test_student_code (res://ui/UIPractice.gd:613)
[2] _run (gdscript://-9223371222153161384.gd:45)
Related: #1211
- 主要言語
- GDScript
- スター
- 2.8k
- フォーク
- 238
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
GDQuest/learn-gdscript のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
GDQuest/learn-gdscript#1455 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
GDQuest/learn-gdscript#1446 ·
-
user experience
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
GDQuest/learn-gdscript#1420 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
GDQuest/learn-gdscript#1456 ·
-
Translations: Find a mechanism to detect and prevent certain strings or markup from being modifiedオープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
GDQuest/learn-gdscript#1450 ·
GDQuest/learn-gdscript の issue をすべて見る
似ている issue
-
tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
prestonbrown/helixscreen#1989 ·
メンテナーはふだん 1 日以内に返信
-
beginner bug frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
BistaDinesh03/critique#266 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
nestjs/authentication#70 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
agilepathway/label-checker#910 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement setup triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
djdembeck/m4b-merge#478 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信