/// <summary>
        /// Creates an instance of <see cref="ExternalVmSandboxedProcess"/>.
        /// </summary>
        public ExternalVmSandboxedProcess(
            SandboxedProcessInfo sandboxedProcessInfo,
            VmInitializer vmInitializer,
            ExternalToolSandboxedProcessExecutor tool)
            : base(sandboxedProcessInfo)
        {
            Contract.Requires(vmInitializer != null);
            Contract.Requires(tool != null);

            m_vmInitializer = vmInitializer;
            m_tool          = tool;
        }
Exemple #2
0
        public TestScheduler(
            PipGraph graph,
            TestPipQueue pipQueue,
            PipExecutionContext context,
            FileContentTable fileContentTable,
            EngineCache cache,
            IConfiguration configuration,
            FileAccessWhitelist fileAccessWhitelist,
            DirectoryMembershipFingerprinterRuleSet directoryMembershipFingerprinterRules = null,
            ITempCleaner tempCleaner                  = null,
            PipRuntimeTimeTable runningTimeTable      = null,
            JournalState journalState                 = null,
            PerformanceCollector performanceCollector = null,
            string fingerprintSalt = null,
            PreserveOutputsInfo?previousInputsSalt = null,
            IEnumerable <Pip> successfulPips       = null,
            IEnumerable <Pip> failedPips           = null,
            LoggingContext loggingContext          = null,
            IIpcProvider ipcProvider = null,
            DirectoryTranslator directoryTranslator = null,
            VmInitializer vmInitializer             = null,
            SchedulerTestHooks testHooks            = null) : base(graph, pipQueue, context, fileContentTable, cache,
                                                                   configuration, fileAccessWhitelist, loggingContext, null, directoryMembershipFingerprinterRules,
                                                                   tempCleaner, AsyncLazy <PipRuntimeTimeTable> .FromResult(runningTimeTable), performanceCollector, fingerprintSalt, previousInputsSalt,
                                                                   ipcProvider: ipcProvider,
                                                                   directoryTranslator: directoryTranslator,
                                                                   journalState: journalState,
                                                                   vmInitializer: vmInitializer,
                                                                   testHooks: testHooks)
        {
            m_testPipQueue = pipQueue;

            if (successfulPips != null)
            {
                foreach (var pip in successfulPips)
                {
                    Contract.Assume(pip.PipId.IsValid, "Override results must be added after the pip has been added to the scheduler");
                    m_overridePipResults.Add(pip.PipId, PipResultStatus.Succeeded);
                }
            }

            if (failedPips != null)
            {
                foreach (var pip in failedPips)
                {
                    Contract.Assume(pip.PipId.IsValid, "Override results must be added after the pip has been added to the scheduler");
                    m_overridePipResults.Add(pip.PipId, PipResultStatus.Failed);
                }
            }

            m_loggingContext = loggingContext;
        }
Exemple #3
0
        /// <summary>
        /// Creates an instance of <see cref="ExternalVmSandboxedProcess"/>.
        /// </summary>
        public ExternalVmSandboxedProcess(
            SandboxedProcessInfo sandboxedProcessInfo,
            VmInitializer vmInitializer,
            ExternalToolSandboxedProcessExecutor tool,
            string externalSandboxedProcessDirectory)
            : base(sandboxedProcessInfo, Path.Combine(externalSandboxedProcessDirectory, nameof(ExternalVmSandboxedProcess)))
        {
            Contract.Requires(vmInitializer != null);
            Contract.Requires(tool != null);

            m_vmInitializer = vmInitializer;
            m_tool          = tool;
        }