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() { -} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy