public override CommandResult Execute() { try { FileSystemMigrator.Migrate(); var assemblyPaths = Enumerable.Empty <string>(); var workingDirectory = FileSystem.GetWorkingDirectory(Script); if (workingDirectory != null) { assemblyPaths = AssemblyResolver.GetAssemblyPaths(workingDirectory); } Composer.Compose(workingDirectory); ScriptExecutor.Initialize(assemblyPaths, _scriptPackResolver.GetPacks(), ScriptArgs); // HACK: This is a (dirty) fix for #1086. This might be a temporary solution until some further refactoring can be done. ScriptExecutor.ScriptEngine.CacheDirectory = Path.Combine(workingDirectory ?? FileSystem.CurrentDirectory, FileSystem.DllCacheFolder); var scriptResult = ScriptExecutor.Execute(Script, ScriptArgs); var commandResult = Inspect(scriptResult); ScriptExecutor.Terminate(); return(commandResult); } catch (Exception ex) { Logger.ErrorException("Error executing script '{0}'", ex, Script); return(CommandResult.Error); } }
public void DoesNotMigrateWhenACurrentFileIsFound( string fileName, [Frozen] Mock<IFileSystem> fileSystem) { // arrange SetupUnmigrated(fileSystem); fileSystem.Setup(f => f.FileExists(fileName)).Returns(true); var sut = new FileSystemMigrator(fileSystem.Object, new Mock<ILog>().Object); // act sut.Migrate(); // assert VerifyNoMigration(fileSystem); }
public void DoesNotMigrateWhenACurrentFileIsFound( string fileName, [Frozen] Mock <IFileSystem> fileSystem) { // arrange SetupUnmigrated(fileSystem); fileSystem.Setup(f => f.FileExists(fileName)).Returns(true); var sut = new FileSystemMigrator(fileSystem.Object, new TestLogProvider()); // act sut.Migrate(); // assert VerifyNoMigration(fileSystem); }