@@ -30,10 +30,6 @@ var l5 = &libraries.Library{Name: "Yet Another Calculus Lib Improved", Location:
30
30
var l6 = & libraries.Library {Name : "Calculus Unified Lib" , Location : libraries .User }
31
31
var l7 = & libraries.Library {Name : "AnotherLib" , Location : libraries .User }
32
32
var bundleServo = & libraries.Library {Name : "Servo" , Location : libraries .IDEBuiltIn , Architectures : []string {"avr" , "sam" , "samd" }}
33
- var userServo = & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"avr" , "sam" , "samd" }}
34
- var userServoAllArch = & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"*" }}
35
- var userServoNonavr = & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"sam" , "samd" }}
36
- var userAnotherServo = & libraries.Library {Name : "AnotherServo" , Location : libraries .User , Architectures : []string {"avr" , "sam" , "samd" , "esp32" }}
37
33
38
34
func runResolver (include string , arch string , libs ... * libraries.Library ) * libraries.Library {
39
35
libraryList := libraries.List {}
@@ -44,6 +40,23 @@ func runResolver(include string, arch string, libs ...*libraries.Library) *libra
44
40
}
45
41
46
42
func TestArchitecturePriority (t * testing.T ) {
43
+ userServo := & libraries.Library {
44
+ Name : "Servo" ,
45
+ Location : libraries .User ,
46
+ Architectures : []string {"avr" , "sam" , "samd" }}
47
+ userServoAllArch := & libraries.Library {
48
+ Name : "Servo" ,
49
+ Location : libraries .User ,
50
+ Architectures : []string {"*" }}
51
+ userServoNonavr := & libraries.Library {
52
+ Name : "Servo" ,
53
+ Location : libraries .User ,
54
+ Architectures : []string {"sam" , "samd" }}
55
+ userAnotherServo := & libraries.Library {
56
+ Name : "AnotherServo" ,
57
+ Location : libraries .User ,
58
+ Architectures : []string {"avr" , "sam" , "samd" , "esp32" }}
59
+
47
60
res := runResolver ("Servo.h" , "avr" , bundleServo , userServo )
48
61
require .NotNil (t , res )
49
62
require .Equal (t , userServo , res , "selected library" )
@@ -63,6 +76,17 @@ func TestArchitecturePriority(t *testing.T) {
63
76
res = runResolver ("Servo.h" , "esp32" , userServoAllArch , userAnotherServo )
64
77
require .NotNil (t , res )
65
78
require .Equal (t , userServoAllArch , res , "selected library" )
79
+
80
+ userSDAllArch := & libraries.Library {
81
+ Name : "SD" ,
82
+ Location : libraries .User ,
83
+ Architectures : []string {"*" }}
84
+ builtinSDesp := & libraries.Library {
85
+ Name : "SD" ,
86
+ Location : libraries .PlatformBuiltIn ,
87
+ Architectures : []string {"esp8266" }}
88
+ res = runResolver ("SD.h" , "esp8266" , userSDAllArch , builtinSDesp )
89
+ require .Equal (t , builtinSDesp , res , "selected library" )
66
90
}
67
91
68
92
func TestClosestMatchWithTotallyDifferentNames (t * testing.T ) {
0 commit comments