(t *testing.T)
| 154 | } |
| 155 | |
| 156 | func TestNormalSync(t *testing.T) { |
| 157 | remote, local, outside := initTestDirs(t) |
| 158 | defer os.RemoveAll(remote) |
| 159 | defer os.RemoveAll(local) |
| 160 | defer os.RemoveAll(outside) |
| 161 | |
| 162 | filesToCheck, foldersToCheck := makeBasicTestCases() |
| 163 | filesToCheck, foldersToCheck = makeRemoveAndRenameTestCases(filesToCheck, foldersToCheck) |
| 164 | sort.Stable(foldersToCheck) |
| 165 | |
| 166 | syncClient, err := createTestSyncClient(local, append(filesToCheck, foldersToCheck...)) |
| 167 | if err != nil { |
| 168 | t.Fatal(err) |
| 169 | } |
| 170 | defer syncClient.Stop(nil) |
| 171 | |
| 172 | // Start the downstream server |
| 173 | downClientReader, downClientWriter, _ := os.Pipe() |
| 174 | downServerReader, downServerWriter, _ := os.Pipe() |
| 175 | defer downClientReader.Close() |
| 176 | defer downClientWriter.Close() |
| 177 | defer downServerReader.Close() |
| 178 | defer downServerWriter.Close() |
| 179 | |
| 180 | // Build exclude paths |
| 181 | excludePaths := []string{} |
| 182 | excludePaths = append(excludePaths, syncClient.Options.ExcludePaths...) |
| 183 | excludePaths = append(excludePaths, syncClient.Options.DownloadExcludePaths...) |
| 184 | |
| 185 | go func() { |
| 186 | err := server.StartDownstreamServer(downServerReader, downClientWriter, &server.DownstreamOptions{ |
| 187 | RemotePath: remote, |
| 188 | ExcludePaths: excludePaths, |
| 189 | ExitOnClose: false, |
| 190 | }) |
| 191 | if err != nil { |
| 192 | panic(err) |
| 193 | } |
| 194 | }() |
| 195 | |
| 196 | // Start downstream client |
| 197 | err = syncClient.InitDownstream(downClientReader, downServerWriter) |
| 198 | if err != nil { |
| 199 | t.Fatal(err) |
| 200 | } |
| 201 | |
| 202 | // Start upstream server |
| 203 | upClientReader, upClientWriter, _ := os.Pipe() |
| 204 | upServerReader, upServerWriter, _ := os.Pipe() |
| 205 | defer upClientReader.Close() |
| 206 | defer upClientWriter.Close() |
| 207 | defer upServerReader.Close() |
| 208 | defer upServerWriter.Close() |
| 209 | |
| 210 | go func() { |
| 211 | err := server.StartUpstreamServer(upServerReader, upClientWriter, &server.UpstreamOptions{ |
| 212 | UploadPath: remote, |
| 213 | ExludePaths: []string{}, |
nothing calls this directly
no test coverage detected