Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Added another fix and test for lib priority
  • Loading branch information
cmaglie committed Jan 23, 2020
commit f38d64afda367f081edeed55bb3742969cbe6903
2 changes: 1 addition & 1 deletion arduino/libraries/librariesresolver/cpp.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ func computePriority(lib *libraries.Library, header, arch string) int {
priority := 0

// Bonus for core-optimized libraries
if lib.IsOptimizedForArchitecture(arch) {
if lib.IsOptimizedForArchitecture(arch) || lib.IsArchitectureIndependent() {
priority += 0x0100
}

Expand Down
5 changes: 5 additions & 0 deletions arduino/libraries/librariesresolver/cpp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ var l6 = &libraries.Library{Name: "Calculus Unified Lib", Location: libraries.Us
var l7 = &libraries.Library{Name: "AnotherLib", Location: libraries.User}
var bundleServo = &libraries.Library{Name: "Servo", Location: libraries.IDEBuiltIn, Architectures: []string{"avr", "sam", "samd"}}
var userServo = &libraries.Library{Name: "Servo", Location: libraries.User, Architectures: []string{"avr", "sam", "samd"}}
var userServoAllArch = &libraries.Library{Name: "Servo", Location: libraries.User, Architectures: []string{"*"}}
var userServoNonavr = &libraries.Library{Name: "Servo", Location: libraries.User, Architectures: []string{"sam", "samd"}}
var userAnotherServo = &libraries.Library{Name: "AnotherServo", Location: libraries.User, Architectures: []string{"avr", "sam", "samd", "esp32"}}

Expand Down Expand Up @@ -58,6 +59,10 @@ func TestArchitecturePriority(t *testing.T) {
res = runResolver("Servo.h", "esp32", bundleServo, userAnotherServo)
require.NotNil(t, res)
require.Equal(t, userAnotherServo, res, "selected library")

res = runResolver("Servo.h", "esp32", userServoAllArch, userAnotherServo)
require.NotNil(t, res)
require.Equal(t, userServoAllArch, res, "selected library")
}

func TestClosestMatchWithTotallyDifferentNames(t *testing.T) {
Expand Down