Exemplo n.º 1
0
        public void RecognizesWhiteouts(string entry, bool isWhiteout, string target)
        {
            var indexer = new AufsFilter();

            Assert.Equal(isWhiteout, indexer.IsWhiteout(entry, out var t));
            Assert.Equal(target, t);
        }
Exemplo n.º 2
0
        public void CanCoalesceIndexes(IEnumerable <string> flatFiles, IEnumerable <string> expected, string target)
        {
            var indexer     = new AufsFilter();
            var flatIndexes = flatFiles
                              .Select(f => f.Split(','))
                              .Select(s => (s[0], int.Parse(s[1]), s[2]))
                              .GroupBy(t => t.Item1)
                              .Select(g => new LayerIndex {
                Digest = g.Key, Depth = g.Min(i => i.Item2), Files = g.Select(i => i.Item3)
            });

            var processed = indexer.FilterLayers(flatIndexes.ToAsyncEnumerable(), target)
                            .ToEnumerable()
                            .SelectMany(l => l.Files.Select(f => $"{l.Digest},{l.Depth},{f}"));

            Assert.Equal(expected, processed);
        }
Exemplo n.º 3
0
        public void AppliesWhiteouts(string whiteoutTarget, string path, bool isHidden)
        {
            var indexer = new AufsFilter();

            Assert.Equal(isHidden, indexer.MatchesAnyWh(path, new[] { whiteoutTarget }));
        }