/// <summary> /// Aggregate Data and return UnitInfo Dictionary. /// </summary> public DataAggregatorResult AggregateData(ClientRun clientRun, UnitCollection unitCollection, Info info, Options options, SlotOptions slotOptions, UnitInfo currentUnitInfo, int slotId) { if (clientRun == null) throw new ArgumentNullException("clientRun"); if (unitCollection == null) throw new ArgumentNullException("unitCollection"); if (options == null) throw new ArgumentNullException("options"); if (slotOptions == null) throw new ArgumentNullException("slotOptions"); if (currentUnitInfo == null) throw new ArgumentNullException("currentUnitInfo"); var result = new DataAggregatorResult(); result.CurrentUnitIndex = -1; SlotRun slotRun = null; if (clientRun.SlotRuns.ContainsKey(slotId)) { slotRun = clientRun.SlotRuns[slotId]; } result.StartTime = clientRun.Data.StartTime; result.Arguments = clientRun.Data.Arguments; result.ClientVersion = clientRun.Data.ClientVersion; result.UserID = clientRun.Data.UserID; result.MachineID = clientRun.Data.MachineID; result.Status = slotRun != null ? slotRun.Data.Status : SlotStatus.Unknown; if (Logger.IsDebugEnabled) { foreach (var s in clientRun.Where(x => x.LineType == LogLineType.Error)) { Logger.DebugFormat(Constants.ClientNameFormat, ClientName, String.Format("Failed to parse log line: {0}", s)); } } GenerateUnitInfoDataFromQueue(result, slotRun, unitCollection, options, slotOptions, currentUnitInfo, slotId); result.Queue = BuildClientQueue(unitCollection, info, slotOptions, slotId); if (result.UnitInfos.ContainsKey(result.CurrentUnitIndex) && result.UnitInfos[result.CurrentUnitIndex].LogLines != null) { result.CurrentLogLines = result.UnitInfos[result.CurrentUnitIndex].LogLines; } else if (slotRun != null) { result.CurrentLogLines = slotRun.ToList(); } else { result.CurrentLogLines = clientRun.ToList(); } return result; }
public void FillTest12() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_12\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009-2013 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual("", info.Client.Args); Assert.AreEqual("C:/Program Files (x86)/FAHClient/config.xml", info.Client.Config); Assert.AreEqual("7.3.2", info.Build.Version); Assert.AreEqual("Feb 1 2013", info.Build.Date); Assert.AreEqual("01:46:52", info.Build.Time); Assert.AreEqual(3852, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1200", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /Qdiag-disable:4297,4103,1786,279 /Ox -arch:SSE /QaxSSE2,SSE3,SSSE3,SSE4.1,SSE4.2 /Qopenmp /Qrestrict /MT /Qmkl", info.Build.Options); Assert.AreEqual("win32 XP", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Windows 8 Pro", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.Windows8, info.System.OperatingSystemEnum); Assert.AreEqual("AMD64", info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.x64, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual(" Intel(R) Core(TM) i5-3450S CPU @ 2.80GHz", info.System.Cpu); Assert.AreEqual(CpuType.Corei5, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 58 Stepping 9", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("3.45GiB", info.System.Memory); Assert.AreEqual(3.45, info.System.MemoryValue); Assert.AreEqual("2.80GiB", info.System.FreeMemory); Assert.AreEqual(2.80, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(0, info.System.GpuCount); Assert.AreEqual(null, info.System.GpuId0); Assert.AreEqual(null, info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("Not detected", info.System.Cuda); Assert.AreEqual(null, info.System.CudaVersion); Assert.AreEqual(null, info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-8, info.System.UtcOffset); Assert.AreEqual(584, info.System.ProcessId); Assert.AreEqual("C:/Program Files (x86)/FAHClient", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest10() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009-2012 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 2600 --command-port=36330", info.Client.Args); Assert.AreEqual("", info.Client.Config); Assert.AreEqual("7.1.43", info.Build.Version); Assert.AreEqual("Jan 2 2012", info.Build.Date); Assert.AreEqual("12:33:05", info.Build.Time); Assert.AreEqual(3223, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1200", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /Qdiag-disable:4297,4103,1786,279 /Ox -arch:SSE /QaxSSE2,SSE3,SSSE3,SSE4.1,SSE4.2 /Qopenmp /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 XP", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Microsoft Windows XP Service Pack 2", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.WindowsXP, info.System.OperatingSystemEnum); Assert.AreEqual("AMD64", info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.x64, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz", info.System.Cpu); Assert.AreEqual(CpuType.Core2, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 15 Stepping 11", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("4.00GiB", info.System.Memory); Assert.AreEqual(4.0, info.System.MemoryValue); Assert.AreEqual("3.22GiB", info.System.FreeMemory); Assert.AreEqual(3.22, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("NVIDIA:1 GT200b [GeForce GTX 285]", info.System.GpuId0); Assert.AreEqual("GeForce GTX 285", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.Nvidia, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("1.3", info.System.Cuda); Assert.AreEqual(1.3, info.System.CudaVersion); Assert.AreEqual("3010", info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-6, info.System.UtcOffset); Assert.AreEqual(1520, info.System.ProcessId); Assert.AreEqual("", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest7() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_7\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 4040 --command-port=36330", info.Client.Args); Assert.AreEqual("C:/folding/FAH-V7/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:37:50", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE /QaxSSE2,SSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 XP", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Microsoft Windows XP Professional", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.WindowsXP, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz", info.System.Cpu); Assert.AreEqual(CpuType.Core2, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 23 Stepping 7", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("3.25GiB", info.System.Memory); Assert.AreEqual(3.25, info.System.MemoryValue); Assert.AreEqual("2.54GiB", info.System.FreeMemory); Assert.AreEqual(2.54, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("FERMI:1 GF106 [GeForce 450 GTS]", info.System.GpuId0); Assert.AreEqual("GeForce 450 GTS", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.Nvidia, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("2.1", info.System.Cuda); Assert.AreEqual(2.1, info.System.CudaVersion); Assert.AreEqual("3020", info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-5, info.System.UtcOffset); Assert.AreEqual(3204, info.System.ProcessId); Assert.AreEqual("C:/folding/FAH-V7", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest6() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_6\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 43012", info.Client.Args); Assert.AreEqual("C:/Documents and Settings/All Users/Application Data/FAHClient/config.xml", info.Client.Config); Assert.AreEqual("7.1.21", info.Build.Version); Assert.AreEqual("Mar 23 2011", info.Build.Date); Assert.AreEqual("15:13:48", info.Build.Time); Assert.AreEqual(2883, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE /QaxSSE2,SSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 XP", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Microsoft Windows XP Professional", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.WindowsXP, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("AMD Athlon(tm) Processor 1640B", info.System.Cpu); Assert.AreEqual(CpuType.Athlon, info.System.CpuType); Assert.AreEqual("AuthenticAMD Family 15 Model 127 Stepping 2", info.System.CpuId); Assert.AreEqual(CpuManufacturer.AMD, info.System.CpuManufacturer); Assert.AreEqual(1, info.System.CpuCount); Assert.AreEqual("1.75GiB", info.System.Memory); Assert.AreEqual(1.75, info.System.MemoryValue); Assert.AreEqual("764.64MiB", info.System.FreeMemory); Assert.AreEqual(0.74671875, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("ATI:2 Radeon 3100 Graphics", info.System.GpuId0); Assert.AreEqual("Radeon 3100 Graphics", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.ATI, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("Not detected", info.System.Cuda); Assert.AreEqual(null, info.System.CudaVersion); Assert.AreEqual(null, info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-4, info.System.UtcOffset); Assert.AreEqual(45024, info.System.ProcessId); Assert.AreEqual("C:/Documents and Settings/All Users/Application Data/FAHClient", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest5() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_5\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 3540 --command-port=36330", info.Client.Args); Assert.AreEqual("C:/FAH/SMPBeta/FAHClient/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:37:58", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE2 /QaxSSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 Vista", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Microsoft Windows 7 Professional", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.Windows7, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("AMD Phenom(tm) II X4 945 Processor", info.System.Cpu); Assert.AreEqual(CpuType.PhenomII, info.System.CpuType); Assert.AreEqual("AuthenticAMD Family 16 Model 4 Stepping 3", info.System.CpuId); Assert.AreEqual(CpuManufacturer.AMD, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("4.00GiB", info.System.Memory); Assert.AreEqual(4.0, info.System.MemoryValue); Assert.AreEqual("2.64GiB", info.System.FreeMemory); Assert.AreEqual(2.64, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("ATI:4 Radeon HD 5870 (Cypress)", info.System.GpuId0); Assert.AreEqual("Radeon HD 5870 (Cypress)", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.ATI, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("Not detected", info.System.Cuda); Assert.AreEqual(null, info.System.CudaVersion); Assert.AreEqual(null, info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-4, info.System.UtcOffset); Assert.AreEqual(760, info.System.ProcessId); Assert.AreEqual("C:/FAH/SMPBeta/FAHClient", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest1() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_1\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 1232 --command-port=36330", info.Client.Args); Assert.AreEqual("C:/Documents and Settings/user/Application Data/FAHClient/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:37:58", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE2 /QaxSSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 Vista", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); // this string is no longer returned in newer clients Assert.AreEqual("Microsoft(R) Windows(R) XP Professional x64 Edition", info.System.OperatingSystem); // simply detect as Windows Assert.AreEqual(OperatingSystemType.Windows, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz", info.System.Cpu); Assert.AreEqual(CpuType.Core2, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 15 Stepping 11", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("4.00GiB", info.System.Memory); Assert.AreEqual(4.0, info.System.MemoryValue); Assert.AreEqual("3.10GiB", info.System.FreeMemory); Assert.AreEqual(3.1, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("ATI:2 Mobility Radeon HD 3600 Series", info.System.GpuId0); Assert.AreEqual("Radeon HD 3600 Series", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.ATI, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("Not detected", info.System.Cuda); Assert.AreEqual(null, info.System.CudaVersion); Assert.AreEqual(null, info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-5, info.System.UtcOffset); Assert.AreEqual(3080, info.System.ProcessId); Assert.AreEqual("C:/Documents and Settings/user/Application Data/FAHClient", info.System.WorkingDirectory); Assert.AreEqual(true, info.System.Win32Service); }
public void FillTest3() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_3\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 1344 --command-port=36330", info.Client.Args); Assert.AreEqual("C:/Users/adak/AppData/Roaming/FAHClient/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:37:58", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE2 /QaxSSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 Vista", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Microsoft Windows 7 Professional", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.Windows7, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM) i7 CPU 940 @ 2.93GHz", info.System.Cpu); Assert.AreEqual(CpuType.Corei7, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 26 Stepping 4", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(8, info.System.CpuCount); Assert.AreEqual("11.99GiB", info.System.Memory); Assert.AreEqual(11.99, info.System.MemoryValue); Assert.AreEqual("10.50GiB", info.System.FreeMemory); Assert.AreEqual(10.50, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(2, info.System.GpuCount); Assert.AreEqual("ATI:1 RV530 [Radeon X1600]", info.System.GpuId0); Assert.AreEqual("Radeon X1600", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.ATI, info.System.GpuId0Manufacturer); Assert.AreEqual("ATI:1 RV530 [Radeon X1600] (Secondary)", info.System.GpuId1); Assert.AreEqual("Radeon X1600", info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.ATI, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("Not detected", info.System.Cuda); Assert.AreEqual(null, info.System.CudaVersion); Assert.AreEqual(null, info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-7, info.System.UtcOffset); Assert.AreEqual(2932, info.System.ProcessId); Assert.AreEqual("C:/Users/adak/AppData/Roaming/FAHClient", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void FillTest2() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_2\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --password yyyyy", info.Client.Args); Assert.AreEqual("/home/s.shelnutt/folding/FAHClient-7.1.24-Ubuntu-10.10-64bit-release/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:24:39", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ g++ 4.3 mode 1110", info.Build.Compiler); Assert.AreEqual("-std=gnu++98 -O3 -funroll-loops -msse2 -axSSE3,SSSE3,SSE4.1,SSE4.2 -restrict", info.Build.Options); Assert.AreEqual("linux2 2.6.35-22-server", info.Build.Platform); Assert.AreEqual(64, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); Assert.AreEqual("Linux 2.6.36-gentoo-r1 x86_64", info.System.OperatingSystem); Assert.AreEqual(OperatingSystemType.Linux, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz", info.System.Cpu); Assert.AreEqual(CpuType.Core2, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 15 Stepping 2", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(2, info.System.CpuCount); Assert.AreEqual("1.96GiB", info.System.Memory); Assert.AreEqual(1.96, info.System.MemoryValue); Assert.AreEqual("237.61MiB", info.System.FreeMemory); Assert.AreEqual(0.232041015625, info.System.FreeMemoryValue); Assert.AreEqual("POSIX_THREADS", info.System.ThreadType); Assert.AreEqual(1, info.System.GpuCount); Assert.AreEqual("FERMI:1 GF104 [GeForce GTX 460]", info.System.GpuId0); Assert.AreEqual("GeForce GTX 460", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.Nvidia, info.System.GpuId0Manufacturer); Assert.AreEqual(null, info.System.GpuId1); Assert.AreEqual(null, info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("2.1", info.System.Cuda); Assert.AreEqual(2.1, info.System.CudaVersion); Assert.AreEqual("4000", info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-4, info.System.UtcOffset); Assert.AreEqual(1408, info.System.ProcessId); Assert.AreEqual("/home/s.shelnutt/folding/FAHClient-7.1.24-Ubuntu-10.10-64bit-release", info.System.WorkingDirectory); Assert.AreEqual(null, info.System.Win32Service); }
private static void PopulateRunLevelData(ClientRun run, Info info, SlotModel slotModel) { Debug.Assert(slotModel != null); if (info != null) { slotModel.ClientVersion = info.Build.Version; } if (run != null) { slotModel.TotalRunCompletedUnits = run.CompletedUnits; slotModel.TotalRunFailedUnits = run.FailedUnits; } }
private static string GetCpuString(Info info, SlotOptions slotOptions) { if (slotOptions.GpuIndex.HasValue) { switch (slotOptions.GpuIndex) { case 0: return info.System.GpuId0Type; case 1: return info.System.GpuId1Type; case 2: return info.System.GpuId2Type; case 3: return info.System.GpuId3Type; case 4: return info.System.GpuId4Type; case 5: return info.System.GpuId5Type; case 6: return info.System.GpuId6Type; case 7: return info.System.GpuId7Type; } } else { return info.System.CpuType.ToCpuTypeString(); } return String.Empty; }
private static ClientQueue BuildClientQueue(IEnumerable<Unit> unitCollection, Info info, SlotOptions slotOptions, int slotId) { ClientQueue cq = null; foreach (var unit in unitCollection.Where(unit => unit.Slot == slotId)) { // don't create a queue until we find a unit that matches this slot id if (cq == null) { cq = new ClientQueue { ClientType = ClientType.FahClient, CurrentIndex = -1 }; } var cqe = new ClientQueueEntry(); cqe.EntryStatusLiteral = unit.StateEnum.ToString(); cqe.WaitingOn = unit.WaitingOn; cqe.Attempts = unit.Attempts; cqe.NextAttempt = unit.NextAttemptTimeSpan.GetValueOrDefault(); cqe.NumberOfSmpCores = info.System.CpuCount; cqe.BeginTimeUtc = unit.AssignedDateTime.GetValueOrDefault(); cqe.BeginTimeLocal = unit.AssignedDateTime.GetValueOrDefault().ToLocalTime(); cqe.ProjectID = unit.Project; cqe.ProjectRun = unit.Run; cqe.ProjectClone = unit.Clone; cqe.ProjectGen = unit.Gen; cqe.MachineID = slotId; cqe.ServerIP = unit.WorkServer; cqe.CpuString = GetCpuString(info, slotOptions); cqe.OsString = info.System.OperatingSystemEnum.ToOperatingSystemString(info.System.OperatingSystemArchitectureEnum); // Memory Value is in Gigabytes - turn into Megabytes and truncate cqe.Memory = (int)(info.System.MemoryValue.GetValueOrDefault() * 1024); cq.Add(unit.Id, cqe); if (unit.StateEnum == FahUnitStatus.Running) { cq.CurrentIndex = unit.Id; } } if (cq != null) { // if no running index and at least something in the queue if (cq.CurrentIndex == -1 && cq.Count != 0) { // take the minimum queue id cq.CurrentIndex = cq.Keys.First(); } } return cq; }
public void FillTest4() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_4\\info.txt"); var info = new Info(); info.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); Assert.AreEqual("http://folding.stanford.edu/", info.Client.Website); Assert.AreEqual("(c) 2009,2010 Stanford University", info.Client.Copyright); Assert.AreEqual("Joseph Coffland <*****@*****.**>", info.Client.Author); Assert.AreEqual(" --lifeline 3388 --command-port=36330", info.Client.Args); Assert.AreEqual("G:/FAH/Data/config.xml", info.Client.Config); Assert.AreEqual("7.1.24", info.Build.Version); Assert.AreEqual("Apr 6 2011", info.Build.Date); Assert.AreEqual("21:37:58", info.Build.Time); Assert.AreEqual(2908, info.Build.SvnRev); Assert.AreEqual("fah/trunk/client", info.Build.Branch); Assert.AreEqual("Intel(R) C++ MSVC 1500 mode 1110", info.Build.Compiler); Assert.AreEqual("/TP /nologo /EHa /wd4297 /wd4103 /wd1786 /Ox -arch:SSE2 /QaxSSE3,SSSE3,SSE4.1,SSE4.2 /Qrestrict /MT", info.Build.Options); Assert.AreEqual("win32 Vista", info.Build.Platform); Assert.AreEqual(32, info.Build.Bits); Assert.AreEqual("Release", info.Build.Mode); // this string is no longer returned in newer clients Assert.AreEqual("Microsoft(R) Windows(R) XP Professional x64 Edition", info.System.OperatingSystem); // simply detect as Windows Assert.AreEqual(OperatingSystemType.Windows, info.System.OperatingSystemEnum); Assert.AreEqual(null, info.System.OperatingSystemArchitecture); Assert.AreEqual(OperatingSystemArchitectureType.Unknown, info.System.OperatingSystemArchitectureEnum); Assert.AreEqual("Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz", info.System.Cpu); Assert.AreEqual(CpuType.Core2, info.System.CpuType); Assert.AreEqual("GenuineIntel Family 6 Model 23 Stepping 7", info.System.CpuId); Assert.AreEqual(CpuManufacturer.Intel, info.System.CpuManufacturer); Assert.AreEqual(4, info.System.CpuCount); Assert.AreEqual("8.00GiB", info.System.Memory); Assert.AreEqual(8.0, info.System.MemoryValue); Assert.AreEqual("6.68GiB", info.System.FreeMemory); Assert.AreEqual(6.68, info.System.FreeMemoryValue); Assert.AreEqual("WINDOWS_THREADS", info.System.ThreadType); Assert.AreEqual(2, info.System.GpuCount); Assert.AreEqual("NVIDIA:1 GT200 [GeForce GTX 260]", info.System.GpuId0); Assert.AreEqual("GeForce GTX 260", info.System.GpuId0Type); Assert.AreEqual(GpuManufacturer.Nvidia, info.System.GpuId0Manufacturer); Assert.AreEqual("NVIDIA:1 G92 [GeForce 9800 GTX]", info.System.GpuId1); Assert.AreEqual("GeForce 9800 GTX", info.System.GpuId1Type); Assert.AreEqual(GpuManufacturer.Nvidia, info.System.GpuId1Manufacturer); Assert.AreEqual(null, info.System.GpuId2); Assert.AreEqual(null, info.System.GpuId2Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId2Manufacturer); Assert.AreEqual(null, info.System.GpuId3); Assert.AreEqual(null, info.System.GpuId3Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId3Manufacturer); Assert.AreEqual(null, info.System.GpuId4); Assert.AreEqual(null, info.System.GpuId4Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId4Manufacturer); Assert.AreEqual(null, info.System.GpuId5); Assert.AreEqual(null, info.System.GpuId5Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId5Manufacturer); Assert.AreEqual(null, info.System.GpuId6); Assert.AreEqual(null, info.System.GpuId6Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId6Manufacturer); Assert.AreEqual(null, info.System.GpuId7); Assert.AreEqual(null, info.System.GpuId7Type); Assert.AreEqual(GpuManufacturer.Unknown, info.System.GpuId7Manufacturer); Assert.AreEqual("1.3", info.System.Cuda); Assert.AreEqual(1.3, info.System.CudaVersion); Assert.AreEqual("3020", info.System.CudaDriver); Assert.AreEqual(false, info.System.HasBattery); Assert.AreEqual(false, info.System.OnBattery); Assert.AreEqual(-4, info.System.UtcOffset); Assert.AreEqual(2884, info.System.ProcessId); Assert.AreEqual("G:/FAH/Data", info.System.WorkingDirectory); Assert.AreEqual(false, info.System.Win32Service); }
public void Client_v7_10_0() { const int slotId = 0; _dataAggregator.ClientName = "Client_v7_10"; var fahLog = FahLog.Read(File.ReadLines("..\\..\\..\\TestFiles\\Client_v7_10\\log.txt"), FahLogType.FahClient); string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\info.txt"); var info = new Info(); info.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\options.txt"); var options = new Options(); options.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\slot-options1.txt"); var slotOptions = new SlotOptions(); slotOptions.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); var result = _dataAggregator.AggregateData(fahLog.ClientRuns.First(), unitCollection, info, options, slotOptions, new UnitInfo(), slotId); Assert.AreEqual(1, result.UnitInfos.Count); Assert.IsFalse(result.UnitInfos.Any(x => x.Value == null)); #region Check Data Aggregator Assert.IsNotNull(result.Queue); Assert.AreEqual(1, result.CurrentUnitIndex); Assert.AreEqual(new DateTime(2012, 1, 11, 3, 24, 22), result.StartTime); Assert.AreEqual(null, result.Arguments); Assert.AreEqual(null, result.ClientVersion); Assert.AreEqual(null, result.UserID); Assert.AreEqual(0, result.MachineID); Assert.AreEqual(SlotStatus.Unknown, result.Status); Assert.IsNotNull(result.CurrentLogLines); Assert.IsFalse(result.UnitInfos.Any(x => x.Value.LogLines == null)); if (result.UnitInfos.ContainsKey(result.CurrentUnitIndex)) { Assert.AreEqual(result.CurrentLogLines, result.UnitInfos[result.CurrentUnitIndex].LogLines); } #endregion var unitInfoData = result.UnitInfos[result.CurrentUnitIndex]; #region Check Unit Info Data Values Assert.AreEqual(null, unitInfoData.OwningSlotName); Assert.AreEqual(null, unitInfoData.OwningClientName); Assert.AreEqual(null, unitInfoData.OwningClientPath); Assert.AreEqual(-1, unitInfoData.OwningSlotId); Assert.AreEqual(DateTime.MinValue, unitInfoData.UnitRetrievalTime); Assert.AreEqual("harlam357", unitInfoData.FoldingID); Assert.AreEqual(32, unitInfoData.Team); Assert.AreEqual(SlotType.CPU, unitInfoData.SlotType); Assert.AreEqual(new DateTime(2012, 1, 10, 23, 20, 27), unitInfoData.DownloadTime); Assert.AreEqual(new DateTime(2012, 1, 22, 16, 22, 51), unitInfoData.DueTime); Assert.AreEqual(new TimeSpan(3, 25, 32), unitInfoData.UnitStartTimeStamp); Assert.AreEqual(DateTime.MinValue, unitInfoData.FinishedTime); Assert.AreEqual(2.27f, unitInfoData.CoreVersion); Assert.AreEqual(7610, unitInfoData.ProjectID); Assert.AreEqual(630, unitInfoData.ProjectRun); Assert.AreEqual(0, unitInfoData.ProjectClone); Assert.AreEqual(59, unitInfoData.ProjectGen); Assert.AreEqual(String.Empty, unitInfoData.ProteinName); Assert.AreEqual(String.Empty, unitInfoData.ProteinTag); Assert.AreEqual(WorkUnitResult.Unknown, unitInfoData.UnitResult); Assert.AreEqual(660000, unitInfoData.RawFramesComplete); Assert.AreEqual(2000000, unitInfoData.RawFramesTotal); Assert.AreEqual(10, unitInfoData.FramesObserved); Assert.AreEqual(33, unitInfoData.CurrentFrame.FrameID); Assert.AreEqual(new TimeSpan(4, 46, 8), unitInfoData.CurrentFrame.TimeOfFrame); Assert.AreEqual(new TimeSpan(0, 8, 31), unitInfoData.CurrentFrame.FrameDuration); Assert.AreEqual("A4", unitInfoData.CoreID); #endregion }
public void Client_v7_10_0() { const int slotId = 0; _dataAggregator.ClientName = "Client_v7_10"; var lines = LogReader.GetLogLines(File.ReadAllLines("..\\..\\..\\TestFiles\\Client_v7_10\\log.txt").Where(x => x.Length != 0), LogFileType.FahClient); lines = lines.Filter(LogFilterType.SlotAndNonIndexed, slotId).ToList(); string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\options.txt"); var options = new Options(); options.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\slot-options1.txt"); var slotOptions = new SlotOptions(); slotOptions.Fill(MessageCache.GetNextJsonMessage(ref message)); var units = _dataAggregator.AggregateData(lines, unitCollection, info, options, slotOptions, new UnitInfo(), slotId); Assert.AreEqual(1, units.Count); Assert.IsFalse(units.Any(x => x.Value == null)); #region Check Data Aggregator Assert.IsNotNull(_dataAggregator.Queue); Assert.AreEqual(1, _dataAggregator.CurrentUnitIndex); Assert.IsNotNull(_dataAggregator.CurrentClientRun); Assert.IsNotNull(_dataAggregator.CurrentLogLines); Assert.AreEqual(1, _dataAggregator.UnitLogLines.Count); Assert.IsFalse(_dataAggregator.UnitLogLines.Any(x => x.Value == null)); if (_dataAggregator.UnitLogLines.ContainsKey(_dataAggregator.CurrentUnitIndex)) { Assert.AreEqual(_dataAggregator.CurrentLogLines, _dataAggregator.UnitLogLines[_dataAggregator.CurrentUnitIndex]); } #endregion var unitInfoData = units[_dataAggregator.CurrentUnitIndex]; #region Check Unit Info Data Values Assert.AreEqual(null, unitInfoData.OwningSlotName); Assert.AreEqual(null, unitInfoData.OwningClientName); Assert.AreEqual(null, unitInfoData.OwningClientPath); Assert.AreEqual(-1, unitInfoData.OwningSlotId); Assert.AreEqual(DateTime.MinValue, unitInfoData.UnitRetrievalTime); Assert.AreEqual("harlam357", unitInfoData.FoldingID); Assert.AreEqual(32, unitInfoData.Team); Assert.AreEqual(SlotType.CPU, unitInfoData.SlotType); Assert.AreEqual(new DateTime(2012, 1, 10, 23, 20, 27), unitInfoData.DownloadTime); Assert.AreEqual(new DateTime(2012, 1, 22, 16, 22, 51), unitInfoData.DueTime); Assert.AreEqual(new TimeSpan(3, 25, 32), unitInfoData.UnitStartTimeStamp); Assert.AreEqual(DateTime.MinValue, unitInfoData.FinishedTime); Assert.AreEqual(2.27f, unitInfoData.CoreVersion); Assert.AreEqual(7610, unitInfoData.ProjectID); Assert.AreEqual(630, unitInfoData.ProjectRun); Assert.AreEqual(0, unitInfoData.ProjectClone); Assert.AreEqual(59, unitInfoData.ProjectGen); Assert.AreEqual(String.Empty, unitInfoData.ProteinName); Assert.AreEqual(String.Empty, unitInfoData.ProteinTag); Assert.AreEqual(WorkUnitResult.Unknown, unitInfoData.UnitResult); Assert.AreEqual(660000, unitInfoData.RawFramesComplete); Assert.AreEqual(2000000, unitInfoData.RawFramesTotal); Assert.AreEqual(10, unitInfoData.FramesObserved); Assert.AreEqual(33, unitInfoData.CurrentFrame.FrameID); Assert.AreEqual(new TimeSpan(4, 46, 8), unitInfoData.CurrentFrame.TimeOfFrame); Assert.AreEqual(new TimeSpan(0, 8, 31), unitInfoData.CurrentFrame.FrameDuration); Assert.AreEqual("A4", unitInfoData.CoreID); #endregion }
/// <summary> /// Aggregate Data and return UnitInfo Dictionary. /// </summary> public IDictionary<int, UnitInfo> AggregateData(ICollection<LogLine> logLines, UnitCollection unitCollection, Info info, Options options, SlotOptions slotOptions, UnitInfo currentUnitInfo, int slotId) { if (logLines == null) throw new ArgumentNullException("logLines"); if (unitCollection == null) throw new ArgumentNullException("unitCollection"); if (options == null) throw new ArgumentNullException("options"); if (slotOptions == null) throw new ArgumentNullException("slotOptions"); if (currentUnitInfo == null) throw new ArgumentNullException("currentUnitInfo"); _currentUnitIndex = -1; // only take up to the last MaxDisplayableLogLines _currentLogLines = logLines.Skip(Math.Max(0, logLines.Count - Constants.MaxDisplayableLogLines)).ToList(); _logInterpreter = new LogInterpreter(logLines, LogReader.GetClientRuns(logLines, LogFileType.FahClient)); _currentClientRun = _logInterpreter.CurrentClientRun; // report errors that came back from log parsing foreach (var s in _logInterpreter.LogLineParsingErrors) { _logger.Debug(Constants.ClientNameFormat, ClientName, s); } IDictionary<int, UnitInfo> parsedUnits = GenerateUnitInfoDataFromQueue(unitCollection, options, slotOptions, currentUnitInfo, slotId); _clientQueue = BuildClientQueue(unitCollection, info, slotOptions, slotId); _logInterpreter = null; return parsedUnits; }