diff --git a/arduino/libraries/librariesresolver/cpp.go b/arduino/libraries/librariesresolver/cpp.go index c762aba55de..e21e5dd1061 100644 --- a/arduino/libraries/librariesresolver/cpp.go +++ b/arduino/libraries/librariesresolver/cpp.go @@ -121,7 +121,6 @@ func computePriority(lib *libraries.Library, header, arch string) int { header = strings.TrimSuffix(header, filepath.Ext(header)) header = simplify(header) name := simplify(lib.Name) - realName := simplify(lib.RealName) priority := 0 @@ -138,17 +137,15 @@ func computePriority(lib *libraries.Library, header, arch string) int { priority += 0 } - if realName == header && name == header { - priority += 600 - } else if realName == header || name == header { + if name == header { priority += 500 - } else if realName == header+"-master" || name == header+"-master" { + } else if name == header+"-master" { priority += 400 - } else if strings.HasPrefix(realName, header) || strings.HasPrefix(name, header) { + } else if strings.HasPrefix(name, header) { priority += 300 - } else if strings.HasSuffix(realName, header) || strings.HasSuffix(name, header) { + } else if strings.HasSuffix(name, header) { priority += 200 - } else if strings.Contains(realName, header) || strings.Contains(name, header) { + } else if strings.Contains(name, header) { priority += 100 } diff --git a/arduino/libraries/librariesresolver/cpp_test.go b/arduino/libraries/librariesresolver/cpp_test.go index b9acb54b503..0bea2dcbe0f 100644 --- a/arduino/libraries/librariesresolver/cpp_test.go +++ b/arduino/libraries/librariesresolver/cpp_test.go @@ -143,18 +143,3 @@ func TestCppHeaderResolver(t *testing.T) { require.Equal(t, "Calculus Unified Lib", resolve("calculus_lib.h", l6, l7)) require.Equal(t, "Calculus Unified Lib", resolve("calculus_lib.h", l7, l6)) } - -func TestCppHeaderResolverWithLibrariesInStrangeDirectoryNames(t *testing.T) { - resolver := NewCppResolver() - librarylist := libraries.List{} - librarylist.Add(&libraries.Library{Name: "onewire_2_3_4", RealName: "OneWire", Architectures: []string{"*"}}) - librarylist.Add(&libraries.Library{Name: "onewireng_2_3_4", RealName: "OneWireNg", Architectures: []string{"avr"}}) - resolver.headers["OneWire.h"] = librarylist - require.Equal(t, "onewire_2_3_4", resolver.ResolveFor("OneWire.h", "avr").Name) - - librarylist2 := libraries.List{} - librarylist2.Add(&libraries.Library{Name: "OneWire", RealName: "OneWire", Architectures: []string{"*"}}) - librarylist2.Add(&libraries.Library{Name: "onewire_2_3_4", RealName: "OneWire", Architectures: []string{"avr"}}) - resolver.headers["OneWire.h"] = librarylist2 - require.Equal(t, "OneWire", resolver.ResolveFor("OneWire.h", "avr").Name) -} diff --git a/test/test_compile.py b/test/test_compile.py index ffff1931092..381f2ec18ed 100644 --- a/test/test_compile.py +++ b/test/test_compile.py @@ -998,31 +998,6 @@ def test_recompile_with_different_library(run_command, data_dir): assert f"Using previously compiled file: {obj_path}" not in res.stdout -def test_compile_with_conflicting_libraries_include(run_command, data_dir, copy_sketch): - assert run_command("update") - - assert run_command("core install arduino:avr@1.8.3") - - # Install conflicting libraries - git_url = "https://github.com/pstolarz/OneWireNg.git" - one_wire_ng_lib_path = Path(data_dir, "libraries", "onewireng_0_8_1") - assert Repo.clone_from(git_url, one_wire_ng_lib_path, multi_options=["-b 0.8.1"]) - - git_url = "https://github.com/PaulStoffregen/OneWire.git" - one_wire_lib_path = Path(data_dir, "libraries", "onewire_2_3_5") - assert Repo.clone_from(git_url, one_wire_lib_path, multi_options=["-b v2.3.5"]) - - sketch_path = copy_sketch("sketch_with_conflicting_libraries_include") - fqbn = "arduino:avr:uno" - - res = run_command(f"compile -b {fqbn} {sketch_path} --verbose") - assert res.ok - lines = [l.strip() for l in res.stdout.splitlines()] - assert 'Multiple libraries were found for "OneWire.h"' in lines - assert f"Used: {one_wire_lib_path}" in lines - assert f"Not used: {one_wire_ng_lib_path}" in lines - - def test_compile_with_invalid_build_options_json(run_command, data_dir): assert run_command("update") diff --git a/test/testdata/sketch_with_conflicting_libraries_include/sketch_with_conflicting_libraries_include.ino b/test/testdata/sketch_with_conflicting_libraries_include/sketch_with_conflicting_libraries_include.ino deleted file mode 100644 index d9f812d6c3f..00000000000 --- a/test/testdata/sketch_with_conflicting_libraries_include/sketch_with_conflicting_libraries_include.ino +++ /dev/null @@ -1,7 +0,0 @@ -#include "OneWire.h" - -void setup() { -} - -void loop() { -}
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: