コード例 #1
0
        public void LooseObjectsLimitPackCount()
        {
            this.TestSetup(DateTime.UtcNow.AddDays(-7));

            // Verify with default limit
            LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false);

            step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3);

            // Verify with limit of 2
            step.MaxLooseObjectsInPack = 2;
            step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(2);
        }
コード例 #2
0
        public void SkipInvalidLooseObjects()
        {
            this.TestSetup(DateTime.UtcNow.AddDays(-7));

            // Verify with valid Objects
            LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false);

            step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3);
            this.tracer.RelatedErrorEvents.Count.ShouldEqual(0);
            this.tracer.RelatedWarningEvents.Count.ShouldEqual(0);

            // Write an ObjectId file with an invalid name
            this.context.FileSystem.WriteAllText(Path.Combine(this.context.Enlistment.GitObjectsRoot, "AA", "NOT_A_SHA"), string.Empty);

            // Verify it wasn't added and a warning exists
            step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3);
            this.tracer.RelatedErrorEvents.Count.ShouldEqual(0);
            this.tracer.RelatedWarningEvents.Count.ShouldEqual(1);
        }