use of com.facebook.buck.testutil.FakeFileHashCache in project buck by facebook.
the class ManifestTest method addEntryWithSourcePathsThatHaveSameRelativePaths.
@Test
public void addEntryWithSourcePathsThatHaveSameRelativePaths() throws IOException {
RuleKey key = new RuleKey("aa");
Path tmp1 = Files.createTempDirectory("tmp1");
ProjectFilesystem filesystem1 = new FakeProjectFilesystem(tmp1);
SourcePath input1 = new PathSourcePath(filesystem1, Paths.get("input.h"));
HashCode hashCode1 = HashCode.fromInt(1);
Path tmp2 = Files.createTempDirectory("tmp2");
ProjectFilesystem filesystem2 = new FakeProjectFilesystem(tmp2);
SourcePath input2 = new PathSourcePath(filesystem2, Paths.get("input.h"));
HashCode hashCode2 = HashCode.fromInt(1);
FileHashCache fileHashCache = new FakeFileHashCache(ImmutableMap.of(RESOLVER.getAbsolutePath(input1), hashCode1, RESOLVER.getAbsolutePath(input2), hashCode2));
Manifest manifest1 = new Manifest();
manifest1.addEntry(fileHashCache, key, RESOLVER, ImmutableSet.of(input1, input2), ImmutableSet.of(input1));
assertThat(manifest1.toMap(), Matchers.equalTo(ImmutableMap.of(key, ImmutableMap.of(RESOLVER.getRelativePath(input1).toString(), Manifest.hashSourcePathGroup(fileHashCache, RESOLVER, ImmutableList.of(input1, input2))))));
Manifest manifest2 = new Manifest();
manifest2.addEntry(fileHashCache, key, RESOLVER, ImmutableSet.of(input1, input2), ImmutableSet.of(input2));
assertThat(manifest2.toMap(), Matchers.equalTo(ImmutableMap.of(key, ImmutableMap.of(RESOLVER.getRelativePath(input2).toString(), Manifest.hashSourcePathGroup(fileHashCache, RESOLVER, ImmutableList.of(input1, input2))))));
}
use of com.facebook.buck.testutil.FakeFileHashCache in project buck by facebook.
the class ManifestTest method lookupMatch.
@Test
public void lookupMatch() throws IOException {
RuleKey key = new RuleKey("aa");
SourcePath input = new FakeSourcePath("input.h");
HashCode hashCode = HashCode.fromInt(20);
Manifest manifest = Manifest.fromMap(ImmutableMap.of(key, ImmutableMap.of(RESOLVER.getRelativePath(input).toString(), hashCode)));
FileHashCache fileHashCache = new FakeFileHashCache(ImmutableMap.of(RESOLVER.getAbsolutePath(input), hashCode));
assertThat(manifest.lookup(fileHashCache, RESOLVER, ImmutableSet.of(input)), Matchers.equalTo(Optional.of(key)));
}
use of com.facebook.buck.testutil.FakeFileHashCache in project buck by facebook.
the class ManifestTest method addEntryFromArchive.
@Test
public void addEntryFromArchive() throws IOException {
Manifest manifest = new Manifest();
RuleKey key = new RuleKey("aa");
SourcePath input = new ArchiveMemberSourcePath(new FakeSourcePath("somewhere/a.jar"), Paths.get("Member.class"));
HashCode hashCode = HashCode.fromInt(20);
FileHashCache fileHashCache = new FakeFileHashCache(new HashMap<>(), ImmutableMap.of(RESOLVER.getAbsoluteArchiveMemberPath(input), hashCode), new HashMap<>());
manifest.addEntry(fileHashCache, key, RESOLVER, ImmutableSet.of(input), ImmutableSet.of(input));
assertThat(manifest.toMap(), Matchers.equalTo(ImmutableMap.of(key, ImmutableMap.of(RESOLVER.getRelativeArchiveMemberPath(input).toString(), hashCode))));
}
use of com.facebook.buck.testutil.FakeFileHashCache in project buck by facebook.
the class ManifestTest method addEntry.
@Test
public void addEntry() throws IOException {
Manifest manifest = new Manifest();
RuleKey key = new RuleKey("aa");
SourcePath input = new FakeSourcePath("input.h");
HashCode hashCode = HashCode.fromInt(20);
FileHashCache fileHashCache = new FakeFileHashCache(ImmutableMap.of(RESOLVER.getAbsolutePath(input), hashCode));
manifest.addEntry(fileHashCache, key, RESOLVER, ImmutableSet.of(input), ImmutableSet.of(input));
assertThat(manifest.toMap(), Matchers.equalTo(ImmutableMap.of(key, ImmutableMap.of(RESOLVER.getRelativePath(input).toString(), hashCode))));
}
use of com.facebook.buck.testutil.FakeFileHashCache in project buck by facebook.
the class ManifestTest method lookupMatchAfterHashMismatch.
@Test
public void lookupMatchAfterHashMismatch() throws IOException {
RuleKey key1 = new RuleKey("aa");
RuleKey key2 = new RuleKey("bb");
SourcePath input = new FakeSourcePath("input.h");
Manifest manifest = Manifest.fromMap(ImmutableMap.of(key1, ImmutableMap.of(RESOLVER.getRelativePath(input).toString(), HashCode.fromInt(1)), key2, ImmutableMap.of(RESOLVER.getRelativePath(input).toString(), HashCode.fromInt(2))));
FileHashCache fileHashCache = new FakeFileHashCache(ImmutableMap.of(RESOLVER.getAbsolutePath(input), HashCode.fromInt(2)));
assertThat(manifest.lookup(fileHashCache, RESOLVER, ImmutableSet.of(input)), Matchers.equalTo(Optional.of(key2)));
}
Aggregations