Skip to content

Commit e2369d8

Browse files
Migrated TestBoardListWithInvalidDiscovery from test_board.py to board_test.go
1 parent e48d031 commit e2369d8

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

internal/integrationtest/board/board_test.go

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

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:avr@1.8.3"])

0 commit comments

Comments
 (0)