예제 #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing || _testDirectory?.Parent == null)
            {
                return;
            }

            var regex = new Regex(CurrentTestName + @"_(?<timestamp>[\d]{16})");

            var oldDirectories = _testDirectory.Parent.EnumerateDirectories()
                                 .Where(d =>
            {
                var matches = regex.Matches(d.Name);
                if (matches.Count == 0)
                {
                    return(false);
                }
                if (!DateTime.TryParseExact(matches[0].Groups["timestamp"].Value,
                                            "yyMMddHHmmssffff", System.Globalization.CultureInfo.InvariantCulture,
                                            System.Globalization.DateTimeStyles.None,
                                            out var previousTestTimeStamp))
                {
                    return(false);
                }
                var isTestAtLeastAMinuteOld = _testStartTime.Subtract(previousTestTimeStamp) > TimeSpan.FromMinutes(1);
                return(isTestAtLeastAMinuteOld);
            })
                                 .ToList();

            oldDirectories.ForEach(TryDeleteFolder);

            ContainerProvider?.Dispose();
        }
예제 #2
0
        private void Dispose(bool disposing)
        {
            if (!disposing)
            {
                return;
            }

            _scope?.Dispose();
            _peerRepository?.Dispose();
            _containerProvider?.Dispose();
        }
예제 #3
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing || _testDirectory?.Parent == null)
            {
                return;
            }

            var regex = new Regex(CurrentTestName + @"_(?<timestamp>[\d]{16})");

            var oldDirectories = _testDirectory.Parent.EnumerateDirectories()
                                 .Where(d => regex.IsMatch(d.Name) &&
                                        string.CompareOrdinal(d.Name, _testDirectory.Name) == -1)
                                 .ToList();

            oldDirectories.ForEach(TryDeleteFolder);

            ContainerProvider?.Dispose();
        }