public static void TestKillCrit() { var sut = ReaderThread.TextChecker( "[RLS]V952 killed Tom with sniperrifle. (crit)"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); }
public static void TestKillCrit() { var sut = ReaderThread.TextChecker( "DllMain | aimware killed One-Man Cheeseburger Apocalypse with sniperrifle. (crit)"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); }
public static void TestChat() { var sut = ReaderThread.TextChecker( "*DEAD* Hey : ImJust a test lul"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.Chatted)); }
/* Methods */ /// <summary> /// TCP provider constructor /// </summary> /// <param name="lcm">LCM object</param> /// <param name="up">URL parser object</param> public TCPProvider(LCM lcm, URLParser up) { this.lcm = lcm; string[] addrport = up.Get("network", DEFAULT_NETWORK).Split(':'); if (addrport.Length == 1) { inetAddr = System.Net.Dns.GetHostAddresses(addrport[0])[0]; inetPort = 7700; } else if (addrport.Length == 2) { inetAddr = System.Net.Dns.GetHostAddresses(addrport[0])[0]; inetPort = Int32.Parse(addrport[1]); } else { Console.Error.WriteLine("TCPProvider: Don't know how to parse " + up.Get("network", DEFAULT_NETWORK)); Environment.Exit(-1); } reader = new ReaderThread(this); reader.Connected += OnConnect; reader.Disconnected += OnDisconnect; reader.Start(); }
public static void TestCommandExecute() { var sut = ReaderThread.TextChecker( "nickname test lyl:) : !request https://www.youtube.com/watch?v=DZV3Xtp-BK0"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.CommandExecute)); }
public static void TestKill() { var sut = ReaderThread.TextChecker("BoyPussi killed dat boi 28 with sniperrifle. (crit)"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); sut = ReaderThread.TextChecker( "[NCC] DllMain killed $20 users with tf_projectile_rocket."); Assert.That(sut, Is.EqualTo(ReaderThread.Result.Kill)); }
public static void TestKill() { var sut = ReaderThread.TextChecker("BoyPussi killed dat boi 28 with sniperrifle. (crit)"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); sut = ReaderThread.TextChecker( "DllMain | aimware killed One-Man Cheeseburger Apocalypse with tf_projectile_rocket."); Assert.That(sut, Is.EqualTo(ReaderThread.Result.Kill)); }
public static void TestOne() { ReaderThread[] readers = new ReaderThread[5]; WriterThread[] writers = new WriterThread[2]; for (int i = 0; i < readers.Length; ++i) { readers [i] = new ReaderThread("#" + i); readers [i].Start(); } for (int i = 0; i < writers.Length; ++i) { writers [i] = new WriterThread("#" + i); writers [i].Start(); } }
/// <summary> /// Close the TCP provider /// </summary> public virtual void Close() { lock (this) { if (reader != null) { reader.Close(); try { reader.Join(); } catch (System.Threading.ThreadInterruptedException) { } } reader = null; } }
public virtual void TestIsCurrentWithThreads() { Directory dir = NewDirectory(); IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)); IndexWriter writer = new IndexWriter(dir, conf); ReaderHolder holder = new ReaderHolder(); ReaderThread[] threads = new ReaderThread[AtLeast(3)]; CountdownEvent latch = new CountdownEvent(1); WriterThread writerThread = new WriterThread(holder, writer, AtLeast(500), Random, latch); for (int i = 0; i < threads.Length; i++) { threads[i] = new ReaderThread(holder, latch); threads[i].Start(); } writerThread.Start(); writerThread.Join(); bool failed = writerThread.failed != null; if (failed) { Console.WriteLine(writerThread.failed.ToString()); Console.Write(writerThread.failed.StackTrace); } for (int i = 0; i < threads.Length; i++) { threads[i].Join(); if (threads[i].failed != null) { Console.WriteLine(threads[i].failed.ToString()); Console.Write(threads[i].failed.StackTrace); failed = true; } } Assert.IsFalse(failed); writer.Dispose(); dir.Dispose(); }
public virtual void TestIsCurrentWithThreads() { Directory dir = NewDirectory(); IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())); IndexWriter writer = new IndexWriter(dir, conf); ReaderHolder holder = new ReaderHolder(); ReaderThread[] threads = new ReaderThread[AtLeast(3)]; CountdownEvent latch = new CountdownEvent(1); WriterThread writerThread = new WriterThread(holder, writer, AtLeast(500), Random(), latch); for (int i = 0; i < threads.Length; i++) { threads[i] = new ReaderThread(holder, latch); threads[i].Start(); } writerThread.Start(); writerThread.Join(); bool failed = writerThread.Failed != null; if (failed) { Console.WriteLine(writerThread.Failed.ToString()); Console.Write(writerThread.Failed.StackTrace); } for (int i = 0; i < threads.Length; i++) { threads[i].Join(); if (threads[i].Failed != null) { Console.WriteLine(threads[i].Failed.ToString()); Console.Write(threads[i].Failed.StackTrace); failed = true; } } Assert.IsFalse(failed); writer.Dispose(); dir.Dispose(); }
/* Methods */ /// <summary> /// TCP provider constructor /// </summary> /// <param name="lcm">LCM object</param> /// <param name="up">URL parser object</param> public TCPProvider(LCM lcm, URLParser up) { this.lcm = lcm; string[] addrport = up.Get("network", DEFAULT_NETWORK).Split(':'); if (addrport.Length == 1) { inetAddr = System.Net.Dns.GetHostAddresses(addrport[0])[0]; inetPort = 7700; } else if (addrport.Length == 2) { inetAddr = System.Net.Dns.GetHostAddresses(addrport[0])[0]; inetPort = Int32.Parse(addrport[1]); } else { Console.Error.WriteLine("TCPProvider: Don't know how to parse " + up.Get("network", DEFAULT_NETWORK)); Environment.Exit(-1); } reader = new ReaderThread(this); reader.Start(); }
protected override void ExecuteConcrete() { #region Extension of the compressed file try { var extension = Path.GetExtension(destination); if (!extension.Equals(".gz", StringComparison.CurrentCultureIgnoreCase)) { destination += ".gz"; } } catch { Console.WriteLine("Resulting file name contrains invalid characters."); return; } #endregion #region Checking and re-writing existing file try { if (File.Exists(destination)) { Console.WriteLine($"The file {destination} already exists. Rewrite it? y/n"); var answer = Console.ReadLine(); if (!answer.Equals("y", StringComparison.CurrentCultureIgnoreCase)) { return; } else { try { File.Delete(destination); } catch (UnauthorizedAccessException) { Console.WriteLine("You have no rights to overwrite the file, or this file is in use by another app."); return; } catch (IOException) { Console.WriteLine("The file is in use by another app, so it is unable to overwrite it."); return; } catch { Console.WriteLine("Unable to overwrite this file. Probably you've set an invalid file name."); return; } } } } catch { Console.WriteLine("Unknown error. Please try set another resulting file name."); } #endregion var numberOfCompressorThreads = Environment.ProcessorCount; var sharedStateAfterReadFile = ReaderCompressorSharedState.Create(numberOfCompressorThreads, c_readFileChunkSize); var sharedStateAfterCompression = CompressorWriterSharedState.Create(numberOfCompressorThreads, numberOfCompressorThreads * 2); var reader = new ReaderThread(source, c_readFileChunkSize, (IForReaderThread)sharedStateAfterReadFile); var compressors = Enumerable .Range(0, numberOfCompressorThreads) .Select(x => new CompressorThread(c_readFileChunkSize, (IForCompressorThreadInput)sharedStateAfterReadFile, (IForCompressorThreadOutput)sharedStateAfterCompression)) .ToList(); var writer = new WriterThread(destination, c_readFileChunkSize, (IForWriterThread)sharedStateAfterCompression); //Console.WriteLine("Press 'c' to cancel."); //if (Console.ReadKey(true).KeyChar == 'c') //{ // sharedStateAfterReadFile.Cancel(); //} reader.Join(); compressors.ForEach(x => x.Join()); writer.Join(); Console.WriteLine("Finished. Press enter to exit."); Console.ReadLine(); }
public virtual void TestThreadSafety() { Directory dir = new MockRAMDirectory(); int n = 150; IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), IndexWriter.MaxFieldLength.LIMITED); for (int i = 0; i < n; i++) { writer.AddDocument(CreateDocument(i, 3)); } writer.Optimize(); writer.Close(); TestReopen test = new AnonymousClassTestReopen7(dir, n, this); System.Collections.IList readers = (System.Collections.IList) System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(new System.Collections.ArrayList())); IndexReader firstReader = IndexReader.Open(dir); IndexReader reader = firstReader; System.Random rnd = NewRandom(); ReaderThread[] threads = new ReaderThread[n]; System.Collections.Hashtable readersToClose = System.Collections.Hashtable.Synchronized(new System.Collections.Hashtable()); for (int i = 0; i < n; i++) { if (i % 10 == 0) { IndexReader refreshed = reader.Reopen(); if (refreshed != reader) { SupportClass.CollectionsHelper.AddIfNotContains(readersToClose, reader); } reader = refreshed; } IndexReader r = reader; int index = i; ReaderThreadTask task; if (i < 20 || (i >= 50 && i < 70) || i > 90) { task = new AnonymousClassReaderThreadTask(index, r, test, readersToClose, readers, rnd, this); } else { task = new AnonymousClassReaderThreadTask1(readers, rnd, this); } threads[i] = new ReaderThread(task); threads[i].Start(); } lock (this) { System.Threading.Monitor.Wait(this, 15000); } for (int i = 0; i < n; i++) { if (threads[i] != null) { threads[i].StopThread(); } } for (int i = 0; i < n; i++) { if (threads[i] != null) { threads[i].Join(); if (threads[i].error != null) { System.String msg = "Error occurred in thread " + threads[i].Name + ":\n" + threads[i].error.Message; Assert.Fail(msg); } } } System.Collections.IEnumerator it = readersToClose.GetEnumerator(); while (it.MoveNext()) { ((IndexReader) ((System.Collections.DictionaryEntry)it.Current).Key).Close(); } firstReader.Close(); reader.Close(); it = readersToClose.GetEnumerator(); while (it.MoveNext()) { AssertReaderClosed((IndexReader)((System.Collections.DictionaryEntry)it.Current).Key, true, true); } AssertReaderClosed(reader, true, true); AssertReaderClosed(firstReader, true, true); dir.Close(); }
public static void TestConnect() { var sut = ReaderThread.TextChecker("[NCC]Effie connected"); Assert.That(sut, Is.EqualTo(ReaderThread.Result.Connected)); }
public virtual void TestThreadSafety() { Directory dir = new RAMDirectory(); int n = 150; IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer()); for (int i = 0; i < n; i++) { writer.AddDocument(CreateDocument(i, 3)); } writer.Optimize(); writer.Close(); TestReopen_Renamed_Class test = new AnonymousClassTestReopen7(dir, n, this); System.Collections.IList readers = (System.Collections.IList) System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(new System.Collections.ArrayList())); IndexReader firstReader = IndexReader.Open(dir); IndexReader reader = firstReader; System.Random rnd = new System.Random(); ReaderThread[] threads = new ReaderThread[n]; System.Collections.Hashtable readersToClose = System.Collections.Hashtable.Synchronized(new System.Collections.Hashtable()); for (int i = 0; i < n; i++) { if (i % 10 == 0) { IndexReader refreshed = reader.Reopen(); if (refreshed != reader) { if (!readersToClose.Contains(reader)) readersToClose.Add(reader, reader); } reader = refreshed; } IndexReader r = reader; int index = i; ReaderThreadTask task; if (i < 20 || (i >= 50 && i < 70) || i > 90) { task = new AnonymousClassReaderThreadTask(index, r, test, readersToClose, readers, rnd, this); } else { task = new AnonymousClassReaderThreadTask1(readers, rnd, this); } threads[i] = new ReaderThread(task); threads[i].Start(); } lock (this) { try { System.Threading.Monitor.Wait(this, 15000); } catch (System.Threading.ThreadInterruptedException) { } } for (int i = 0; i < n; i++) { if (threads[i] != null) { threads[i].StopThread(); } } for (int i = 0; i < n; i++) { if (threads[i] != null) { try { threads[i].Join(); if (threads[i].exception != null) { throw threads[i].exception; } } catch (System.Threading.ThreadInterruptedException) { } } } System.Collections.IEnumerator it = readersToClose.Keys.GetEnumerator(); while (it.MoveNext()) { ((IndexReader) it.Current).Close(); } firstReader.Close(); reader.Close(); it = readersToClose.Keys.GetEnumerator(); while (it.MoveNext()) { AssertReaderClosed((IndexReader) it.Current, true, true); } AssertReaderClosed(reader, true, true); AssertReaderClosed(firstReader, true, true); }
IEnumerator LeseDaten10() { /* * Die Blöcke 6 und 7-1 bis 7-x (x.Max = 12) werden ausgelesenen und auf Grundlage dieser Daten * entstehen die Punkt und Dreiecksnetze */ // List<Thread> threadList = new List<Thread>(); var listeDerThreads = new List <Thread>(); var eingeleseneZeile = ""; do { eingeleseneZeile = _daten10Leser.ReadLine(); if (eingeleseneZeile != null) { if (eingeleseneZeile.Contains("BLOCK 6")) { SchreibeLogEintrag("Beginne mit der Bearbeitung vom Block 6"); var leseBlock6 = new ReaderGeometrie(_datenAblage); SchreibeLogEintrag("Bearbeitung vom Block 6 beendet"); InitialisierungDynamischeVariablen(); BearbeiteDreiecke(); SchreibeLogEintrag("Dreiecke sortiert"); for (int indexLeiter = 1; indexLeiter < 10; indexLeiter++) { SchreibeLogEintrag("Starte Thread " + indexLeiter); var readerThread = new ReaderThread("BLOCK 7-" + indexLeiter, indexLeiter - 1, _datenAblage); var readThread = new Thread(new ThreadStart(readerThread.read)); readThread.Start(); listeDerThreads.Add(readThread); } for (int indexLeiter = 10; indexLeiter < 13; indexLeiter++) { SchreibeLogEintrag("Starte Thread " + indexLeiter); var readerThread = new ReaderThread("BLOCK 7" + indexLeiter, indexLeiter - 1, _datenAblage); var readThread = new Thread(new ThreadStart(readerThread.read)); readThread.Start(); listeDerThreads.Add(readThread); } SchreibeLogEintrag(" Anzahl der gestarteten Threads " + listeDerThreads.Count); // _anzeigeText = (" Anzahl der gestarteten Threads " + listeDerThreads.Count); for (int zeigerAufDenThreadIndex = 0; zeigerAufDenThreadIndex < listeDerThreads.Count; zeigerAufDenThreadIndex++) { listeDerThreads[zeigerAufDenThreadIndex].Join(); _anzeigeText = (" Anzahl der beendeten Threads " + zeigerAufDenThreadIndex + 1); SchreibeLogEintrag("Thread" + zeigerAufDenThreadIndex + " fertig"); } } } } while (!eingeleseneZeile.Contains("BLOCK 8")); SchreibeLogEintrag("Korrektur der Raumlage "); KorrekturDerRaumlage(_vectorDerLeiterOberkanten); SchreibeLogEintrag("Beginne mit der Netzgenerierung "); KonstruiereAngefordertesGameObject(); return(null); }
public virtual void TestThreadSafety() { Directory dir = NewDirectory(); // NOTE: this also controls the number of threads! int n = TestUtil.NextInt(Random(), 20, 40); IndexWriter writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))); for (int i = 0; i < n; i++) { writer.AddDocument(CreateDocument(i, 3)); } writer.ForceMerge(1); writer.Dispose(); TestReopen test = new TestReopenAnonymousInnerClassHelper3(this, dir, n); IList <ReaderCouple> readers = new SynchronizedCollection <ReaderCouple>(); DirectoryReader firstReader = DirectoryReader.Open(dir); DirectoryReader reader = firstReader; ReaderThread[] threads = new ReaderThread[n]; ISet <DirectoryReader> readersToClose = new ConcurrentHashSet <DirectoryReader>(new HashSet <DirectoryReader>()); for (int i = 0; i < n; i++) { if (i % 2 == 0) { DirectoryReader refreshed = DirectoryReader.OpenIfChanged(reader); if (refreshed != null) { readersToClose.Add(reader); reader = refreshed; } } DirectoryReader r = reader; int index = i; ReaderThreadTask task; if (i < 4 || (i >= 10 && i < 14) || i > 18) { task = new ReaderThreadTaskAnonymousInnerClassHelper(this, test, readers, readersToClose, r, index); } else { task = new ReaderThreadTaskAnonymousInnerClassHelper2(this, readers); } threads[i] = new ReaderThread(task); threads[i].Start(); } lock (this) { Monitor.Wait(this, TimeSpan.FromMilliseconds(1000)); } for (int i = 0; i < n; i++) { if (threads[i] != null) { threads[i].StopThread(); } } for (int i = 0; i < n; i++) { if (threads[i] != null) { threads[i].Join(); if (threads[i].Error != null) { string msg = "Error occurred in thread " + threads[i].Name + ":\n" + threads[i].Error.Message; Assert.Fail(msg); } } } foreach (DirectoryReader readerToClose in readersToClose) { readerToClose.Dispose(); } firstReader.Dispose(); reader.Dispose(); foreach (DirectoryReader readerToClose in readersToClose) { AssertReaderClosed(readerToClose, true); } AssertReaderClosed(reader, true); AssertReaderClosed(firstReader, true); dir.Dispose(); }
public static void TestSuicide() { var sut = ReaderThread.TextChecker("DurRud suicided."); Assert.That(sut, Is.EqualTo(ReaderThread.Result.Suicide)); }