Skip to content

Commit 15c986b

Browse files
authored
Merge pull request #162 from per1234/sketch-name-case-sensitive
Make sketch filename matching rule case-sensitive
2 parents 09f7530 + 1f72538 commit 15c986b

File tree

5 files changed

+20
-14
lines changed

5 files changed

+20
-14
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ require (
4848
go.bug.st/relaxed-semver v0.0.0-20190922224835-391e10178d18
4949
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.14.0 // indirect
5050
golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 // indirect
51-
golang.org/x/mod v0.4.0 // indirect
51+
golang.org/x/mod v0.4.1 // indirect
5252
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11 // indirect
5353
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d // indirect
5454
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf // indirect

go.sum

+2-4
Original file line numberDiff line numberDiff line change
@@ -1193,6 +1193,8 @@ golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
11931193
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
11941194
golang.org/x/mod v0.4.0 h1:8pl+sMODzuvGJkmj2W4kZihvVb5mKm8pB/X44PIQHv8=
11951195
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
1196+
golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY=
1197+
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
11961198
golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
11971199
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
11981200
golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1383,10 +1385,6 @@ golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapK
13831385
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
13841386
golang.org/x/tools v0.0.0-20200203215610-ab391d50b528/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
13851387
golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
1386-
golang.org/x/tools v0.0.0-20201210181237-6d345e82f1d8 h1:Pg9rlomzMhg26WdvwSujvC1Pr2lxOfFfhnQ+/LQcjLw=
1387-
golang.org/x/tools v0.0.0-20201210181237-6d345e82f1d8/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1388-
golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58 h1:1Bs6RVeBFtLZ8Yi1Hk07DiOqzvwLD/4hln4iahvFlag=
1389-
golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
13901388
golang.org/x/tools v0.0.0-20201211192254-72fbef54948b h1:8fYBhX5ZQZtb7nVKo58TjndJwMM+cOB1xOnfjgH3uiY=
13911389
golang.org/x/tools v0.0.0-20201211192254-72fbef54948b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
13921390
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/rule/rulefunction/sketch.go

+13-8
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,20 @@ import (
2828

2929
// SketchNameMismatch checks for mismatch between sketch folder name and primary file name.
3030
func SketchNameMismatch() (result ruleresult.Type, output string) {
31-
for extension := range globals.MainFileValidExtensions {
32-
validPrimarySketchFilePath := projectdata.ProjectPath().Join(projectdata.ProjectPath().Base() + extension)
33-
exist, err := validPrimarySketchFilePath.ExistCheck()
34-
if err != nil {
35-
panic(err)
36-
}
31+
primarySketchFilePrefix := projectdata.ProjectPath().Base()
3732

38-
if exist {
39-
return ruleresult.Pass, ""
33+
directoryListing, err := projectdata.ProjectPath().ReadDir()
34+
if err != nil {
35+
panic(err)
36+
}
37+
directoryListing.FilterOutDirs()
38+
39+
for _, filePath := range directoryListing {
40+
for extension := range globals.MainFileValidExtensions {
41+
if filePath.Base() == primarySketchFilePrefix+extension {
42+
// There was a case-sensitive match (paths package's Exist() is not always case-sensitive, so can't be used here).
43+
return ruleresult.Pass, ""
44+
}
4045
}
4146
}
4247

internal/rule/rulefunction/sketch_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ func checkSketchRuleFunction(ruleFunction Type, testTables []sketchRuleFunctionT
6464
func TestSketchNameMismatch(t *testing.T) {
6565
testTables := []sketchRuleFunctionTestTable{
6666
{"Valid", "Valid", ruleresult.Pass, ""},
67-
{"Mismatch", "NameMismatch", ruleresult.Fail, ""},
67+
{"Name Mismatch", "NameMismatch", ruleresult.Fail, ""},
68+
{"Case Mismatch", "CaseMismatch", ruleresult.Fail, ""},
6869
}
6970

7071
checkSketchRuleFunction(SketchNameMismatch, testTables, t)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
void setup() {}
2+
void loop() {}

0 commit comments

Comments
 (0)