sadanand48 commented on code in PR #5364:
URL: https://github.com/apache/hadoop/pull/5364#discussion_r1145258696
##########
hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/TestDistCpSync.java:
##########
@@ -1276,4 +1283,63 @@ private void snapshotDiffWithPaths(Path sourceFSPath,
verifyCopyByFs(sourceFS, targetFS, sourceFS.getFileStatus(sourceFSPath),
targetFS.getFileStatus(targetFSPath), false);
}
+
+ @Test
+ public void testSyncSnapshotDiffWithLocalFileSystem() throws Exception {
+ String[] args = new String[]{"-update", "-diff", "s1", "s2",
+ "file:///source", "file:///target"};
+ LambdaTestUtils.intercept(
+ IllegalArgumentException.class,
+ "The source file system file does not support snapshot",
+ () -> new DistCp(conf, OptionsParser.parse(args)).execute());
+ }
+
+ @Test
+ public void testSyncSnapshotDiffWithDummyFileSystem() throws Exception {
+ String[] args =
+ new String[] { "-update", "-diff", "s1", "s2", "dummy:///source",
+ "dummy:///target" };
+ try {
+ FileSystem dummyFs = FileSystem.get(URI.create("dummy:///"), conf);
+ Assert.assertTrue(dummyFs instanceof DummyFs);
+ new DistCp(conf, OptionsParser.parse(args)).execute();
+ } catch (Exception e) {
+ // can expect other exceptions as source and target paths
+ // are not created, assert if the exception is not arising
+ // due to the filesystem not supporting snapshots.
+ Assert.assertFalse(e.getMessage().contains("does not support snapshot"));
Review Comment:
After changing it to throw UnsupportedOperationException it became easier,
The failure scenario for this test case is only if it gets
UnsupportedException. It can expect other exceptions.
```java
catch (UnsupportedOperationException e) {
Assert.fail("Dummy FS supports snapshots," +
"did not expect UnsupportedOperationException");
} catch (Exception e) {
// can expect other exceptions as source and target paths
// are not created.
}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]