예제 #1
0
        public override IEnumerable<object[]> GetData(MethodInfo methodUnderTest, Type[] parameterTypes)
        {
            var makefiles = Directory.GetFiles(Directory.GetCurrentDirectory(), "test-*.shade").Select(Path.GetFileName);
            var loader = new DefaultLoader(new DefaultLog(new SakeSettings { Output = Console.Out }));
            foreach (var makefile in makefiles)
            {
                IBuilder builder;
                try
                {
                    builder = loader.Load(new Options { Makefile = makefile });
                }
                catch (Exception)
                {
                    builder = null;
                }

                if (builder == null)
                {
                    yield return new object[] { makefile, null };
                }
                else
                {
                    foreach (var target in builder.Targets.Values.Where(target => target.Name.StartsWith("test-")))
                    {
                        yield return new object[] { makefile, target.Name };
                    }
                }
            }
        }
예제 #2
0
파일: MakefileTests.cs 프로젝트: Eilon/sake
 public void MakefileTarget(string makefile, string target)
 {
     var settings = new SakeSettings { Output = new RemoveEscapes(Console.Out) };
     var loader = new DefaultLoader(new DefaultLog(settings), settings);
     var engine = new SakeEngine(settings, loader, new DefaultRunner());
     engine.Execute(new Options { Makefile = makefile, Targets = new[] { target } });
 }
예제 #3
0
 public DefaultLoaderTests()
 {
     _settings = new SakeSettings { Output = new StringWriter() };
     _loader = new DefaultLoader(new DefaultLog(_settings));
 }