private void VerifyMultiplePips(string[] arr) { for (var i = 0; i < arr.Length; i++) { var jsonObj = JsonConvert.DeserializeObject <PerProcessPipPerformanceInformation>(arr[i]); int index = jsonObj.IOReadMb; ProcessRunnablePip runnablePip = (ProcessRunnablePip)m_runnablePips[index]; PerProcessPipPerformanceInformation pipInfo = GeneratePipInfoWithRunnablePipAndIndex(ref runnablePip, index); Assert.Equal(PerProcessPipPerformanceInformationStore.SerializePipPerfInfo(pipInfo), arr[i]); } }
public PerProcessPipPerformanceInformationStoreTests(ITestOutputHelper output) : base(output) { m_context = BuildXLContext.CreateInstanceForTesting(); m_loggingContext = CreateLoggingContextForTest(); m_configuration = ConfigurationHelpers.GetDefaultForTesting(m_context.PathTable, AbsolutePath.Create(m_context.PathTable, Path.Combine(TemporaryDirectory, "config.ds"))); m_perPipPerformanceInformationStore = new PerProcessPipPerformanceInformationStore(MaxNumPipTelemetryBatches, m_configuration.Logging.AriaIndividualMessageSizeLimitBytes); m_runnablePips = new Hashtable(); var pipTable = new PipTable( m_context.PathTable, m_context.SymbolTable, initialBufferSize: 1024, maxDegreeOfParallelism: (Environment.ProcessorCount + 2) / 3, debug: false); m_executionEnvironment = new DummyPipExecutionEnvironment(m_loggingContext, m_context, m_configuration, pipTable: pipTable); m_individualPipInfoStringLength = PerProcessPipPerformanceInformationStore.SerializePipPerfInfo(CreateSamplePip(0)).Length; }