Skip to content

Commit c620dfb

Browse files
Migrate TestCompileWithConflictingLibrariesInclude from test_compile_part_4.py to compile_part_4_test.go
1 parent eabae4a commit c620dfb

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

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)