Skip to content

Commit f31490e

Browse files
Migrated TestBoardListWithInvalidDiscovery from test_board.py to board_test.go
1 parent a3a2de0 commit f31490e

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

internal/integrationtest/board/board_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,27 @@ func TestBoardList(t *testing.T) {
4141
Query(`[ .[].port | select(.protocol == null or .protocol_label == null) ]`).
4242
MustBeEmpty()
4343
}
44+
45+
func TestBoardListWithInvalidDiscovery(t *testing.T) {
46+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
47+
defer env.CleanUp()
48+
49+
_, _, err := cli.Run("core", "update-index")
50+
require.NoError(t, err)
51+
_, _, err = cli.Run("board", "list")
52+
require.NoError(t, err)
53+
54+
// check that the CLI does not crash if an invalid discovery is installed
55+
// (for example if the installation fails midway).
56+
// https://github.com/arduino/arduino-cli/issues/1669
57+
toolDir := cli.DataDir().Join("packages", "builtin", "tools", "serial-discovery")
58+
dirsToEmpty, err := toolDir.ReadDir()
59+
require.NoError(t, err)
60+
require.Len(t, dirsToEmpty, 1)
61+
require.NoError(t, dirsToEmpty[0].RemoveAll())
62+
require.NoError(t, dirsToEmpty[0].MkdirAll())
63+
64+
_, stderr, err := cli.Run("board", "list")
65+
require.NoError(t, err)
66+
require.Contains(t, string(stderr), "builtin:serial-discovery")
67+
}

test/test_board.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -394,23 +394,6 @@
394394
""" # noqa: E501
395395

396396

397-
def test_board_list_with_invalid_discovery(run_command, data_dir):
398-
run_command(["core", "update-index"])
399-
result = run_command(["board", "list"])
400-
assert result.ok
401-
402-
# check that the CLI do no crash if an invalid discovery is installed
403-
# (for example if the installation fails midway).
404-
# https://github.com/arduino/arduino-cli/issues/1669
405-
tool_dir = os.path.join(data_dir, "packages", "builtin", "tools", "serial-discovery")
406-
for file_to_delete in glob.glob(tool_dir + "/*/*"):
407-
os.remove(file_to_delete)
408-
409-
result = run_command(["board", "list"])
410-
assert result.ok
411-
assert "builtin:serial-discovery" in result.stderr
412-
413-
414397
def test_board_listall(run_command):
415398
assert run_command(["update"])
416399
assert run_command(["core", "install", "arduino:[email protected]"])

0 commit comments

Comments
 (0)