@@ -105,14 +105,28 @@ func TestLibraryHasSubmodule(t *testing.T) {
105
105
106
106
func TestLibraryContainsSymlinks (t * testing.T ) {
107
107
testLibrary := "Recursive"
108
+ // Set up a library with a file target symlink.
108
109
symlinkPath := librariesTestDataPath .Join (testLibrary , "test-symlink" )
109
110
// It's probably most friendly to developers using Windows to create the symlink needed for the test on demand.
110
111
err := os .Symlink (librariesTestDataPath .Join (testLibrary , "library.properties" ).String (), symlinkPath .String ())
111
112
require .Nil (t , err , "This test must be run as administrator on Windows to have symlink creation privilege." )
112
113
defer symlinkPath .RemoveAll () // clean up
113
114
114
115
testTables := []libraryRuleFunctionTestTable {
115
- {"Has symlink" , testLibrary , ruleresult .Fail , "" },
116
+ {"Has file target symlink" , testLibrary , ruleresult .Fail , "" },
117
+ }
118
+
119
+ checkLibraryRuleFunction (LibraryContainsSymlinks , testTables , t )
120
+
121
+ err = symlinkPath .RemoveAll ()
122
+ require .Nil (t , err )
123
+
124
+ // Set up a library with a folder target symlink.
125
+ err = os .Symlink (librariesTestDataPath .Join (testLibrary , "src" ).String (), symlinkPath .String ())
126
+ require .Nil (t , err )
127
+
128
+ testTables = []libraryRuleFunctionTestTable {
129
+ {"Has folder target symlink" , testLibrary , ruleresult .Fail , "" },
116
130
}
117
131
118
132
checkLibraryRuleFunction (LibraryContainsSymlinks , testTables , t )
0 commit comments