Skip to content

Commit 266723e

Browse files
Migrate TestCompileWithConflictingLibrariesInclude from test_compile_part_4.py to compile_part_4_test.go
1 parent 560baa3 commit 266723e

File tree

3 files changed

+40
-27
lines changed

3 files changed

+40
-27
lines changed

internal/integrationtest/compile/compile_part_4_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,43 @@ func TestRecompileWithDifferentLibrary(t *testing.T) {
174174
require.NoError(t, err)
175175
require.NotContains(t, string(stdout), "Using previously compiled file: "+objPath.String())
176176
}
177+
178+
func TestCompileWithConflictingLibrariesInclude(t *testing.T) {
179+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
180+
defer env.CleanUp()
181+
182+
_, _, err := cli.Run("update")
183+
require.NoError(t, err)
184+
185+
_, _, err = cli.Run("core", "install", "arduino:avr@1.8.3")
186+
require.NoError(t, err)
187+
188+
// Installs conflicting libraries
189+
gitUrl := "https://github.com/pstolarz/OneWireNg.git"
190+
oneWireNgLibPath := cli.SketchbookDir().Join("libraries", "onewireng_0_8_1")
191+
_, err = git.PlainClone(oneWireNgLibPath.String(), false, &git.CloneOptions{
192+
URL: gitUrl,
193+
ReferenceName: plumbing.NewTagReferenceName("0.8.1"),
194+
})
195+
require.NoError(t, err)
196+
197+
gitUrl = "https://github.com/PaulStoffregen/OneWire.git"
198+
oneWireLibPath := cli.SketchbookDir().Join("libraries", "onewire_2_3_5")
199+
_, err = git.PlainClone(oneWireLibPath.String(), false, &git.CloneOptions{
200+
URL: gitUrl,
201+
ReferenceName: plumbing.NewTagReferenceName("v2.3.5"),
202+
})
203+
require.NoError(t, err)
204+
205+
sketchPath := cli.CopySketch("sketch_with_conflicting_libraries_include")
206+
fqbn := "arduino:avr:uno"
207+
208+
stdout, _, err := cli.Run("compile", "-b", fqbn, sketchPath.String(), "--verbose")
209+
require.NoError(t, err)
210+
expectedOutput := [3]string{
211+
"Multiple libraries were found for \"OneWire.h\"",
212+
" Used: " + oneWireLibPath.String(),
213+
" Not used: " + oneWireNgLibPath.String(),
214+
}
215+
require.Contains(t, string(stdout), expectedOutput[0]+"\n"+expectedOutput[1]+"\n"+expectedOutput[2]+"\n")
216+
}

test/test_compile_part_4.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -50,33 +50,6 @@ def test_compile_manually_installed_platform_using_boards_local_txt(run_command,
5050
assert run_command(["compile", "--clean", "-b", fqbn, sketch_path])
5151

5252

53-
def test_compile_with_conflicting_libraries_include(run_command, data_dir, copy_sketch):
54-
assert run_command(["update"])
55-
56-
assert run_command(["core", "install", "arduino:avr@1.8.3"])
57-
58-
# Install conflicting libraries
59-
git_url = "https://github.com/pstolarz/OneWireNg.git"
60-
one_wire_ng_lib_path = Path(data_dir, "libraries", "onewireng_0_8_1")
61-
assert Repo.clone_from(git_url, one_wire_ng_lib_path, multi_options=["-b 0.8.1"])
62-
63-
git_url = "https://github.com/PaulStoffregen/OneWire.git"
64-
one_wire_lib_path = Path(data_dir, "libraries", "onewire_2_3_5")
65-
assert Repo.clone_from(git_url, one_wire_lib_path, multi_options=["-b v2.3.5"])
66-
67-
sketch_path = copy_sketch("sketch_with_conflicting_libraries_include")
68-
fqbn = "arduino:avr:uno"
69-
70-
res = run_command(["compile", "-b", fqbn, sketch_path, "--verbose"])
71-
assert res.ok
72-
expected_output = [
73-
'Multiple libraries were found for "OneWire.h"',
74-
f" Used: {one_wire_lib_path}",
75-
f" Not used: {one_wire_ng_lib_path}",
76-
]
77-
assert "\n".join(expected_output) in res.stdout
78-
79-
8053
def test_compile_with_invalid_build_options_json(run_command, data_dir):
8154
assert run_command(["update"])
8255

0 commit comments

Comments
 (0)