-
-
Notifications
You must be signed in to change notification settings - Fork 444
Description
Bug Report
Only applies to Mac OS with Case-Insensitive HFS+ / APFS or other case insensitive File Systems (basically nowhere else)
If one or more libraries contain Sketch examples whose names have case mismatch with the containing folder,
the example is considered to be valid, but the IDE breaks because unable to find the file (strict case rules)
To Reproduce
- Install
WiFiManagerand/orM5Stacklibraries - list examples
- check that all examples will be available
Current behavior
arduino-cli lib examples WiFiManager
the output will be
Examples for library WiFiManager
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Advanced
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/AutoConnect/AutoConnectWithFeedbackLED
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/AutoConnect/AutoConnectWithFSParameters
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/AutoConnect/AutoConnectWithFSParametersAndCustomIP
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Basic
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/DEV/OnDemandConfigPortal
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/NonBlocking/AutoConnectNonBlocking
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/NonBlocking/AutoConnectNonBlockingwParams
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/NonBlocking/OnDemandNonBlocking
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Old_examples/AutoConnectWithFeedback
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Old_examples/AutoConnectWithReset
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Old_examples/AutoConnectWithStaticIP
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Old_examples/AutoConnectWithTimeout
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/OnDemand/OnDemandConfigPortal
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/OnDemand/OnDemandWebPortal
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/ParamsChildClass
- /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/Teststhe listed example /data/Dropbox/AppsDocuments/Arduino2/libraries/WiFiManager/examples/OnDemand/OnDemandWebPortal should not be present, because the .ino file name has a case mismatch on the filename initial o: onDemandWebPortal vs OnDemandWebPortal
Essentially when listing examples and traversing the tree, the CLI queries the file system to check wether a file name OnDemandWebPortal with extension .ino is present, and the Mac OS FS returns true, because for this FS MYweirdFile is equal to myWEIRDfile.
Expected behavior
The CLI should ALWAYS test for exact case match, not rely on the weird user-accommodating File System
Environment
- CLI version 0.15.0
- OS and platform: Mac OS Mojave
Additional context
This issue causes the bug in arduino/arduino-pro-ide#418