public void _0_9_Pipeline(Disquuun disquuun) { WaitUntil("_0_9_Pipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var gotInfoCount = 0; disquuun.Pipeline(disquuun.Info(), disquuun.Info()).Execute( (command, data) => { lock (_0_9_PipelineObject) gotInfoCount++; } ); WaitUntil("_0_9_Pipeline", () => (gotInfoCount == 2), 1); }
public void _0_9_1_MultiplePipeline(Disquuun disquuun) { WaitUntil("_0_9_1_MultiplePipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infoCount = 0; disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline(disquuun.Info()).Execute( (command, data) => { lock (_0_9_1_MultiplePipelineObject) infoCount++; } ); WaitUntil("_0_9_1_MultiplePipeline", () => (infoCount == 3), 5); }
public long _6_1_ExceededSocketNo100In2(Disquuun disquuun) { WaitUntil("_6_1_ExceededSocketNo100In2", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var infoCount = 0; var connectCount = 1000; var w = new Stopwatch(); w.Start(); for (var i = 0; i < connectCount; i++) { disquuun.Info().Async( (command, data) => { lock (_6_1_ExceededSocketNo100In2LockObject) infoCount++; } ); } WaitUntil("_6_1_ExceededSocketNo100In2", () => (infoCount == connectCount), 5); w.Stop(); return(w.ElapsedMilliseconds); }
public long _0_7_LoopInfo_100(Disquuun disquuun) { WaitUntil("_0_7_LoopInfo_100", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infos = new List <string>(); var w = new Stopwatch(); w.Start(); disquuun.Info().Loop( (DisqueCommand command, DisquuunResult[] datas) => { var infoStr = DisquuunDeserializer.Info(datas).rawString; lock (_0_7_LoopInfo_100Object) infos.Add(infoStr); if (infos.Count < 100) { return(true); } return(false); } ); WaitUntil("_0_7_LoopInfo_100", () => (infos.Count == 100), 5); w.Stop(); return(w.ElapsedMilliseconds); }
public long _6_2_ExceededSocketShouldStacked(Disquuun disquuun) { WaitUntil("_6_2_ExceededSocketShouldStacked", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var infoCount = 0; var connectCount = 1000; var w = new Stopwatch(); w.Start(); for (var i = 0; i < connectCount; i++) { disquuun.Info().Async( (command, data) => { lock (_6_2_ExceededSocketShouldStackedLockObject) infoCount++; } ); } var stackedCommandCount = disquuun.StackedCommandCount(); // this assert "maybe" hit. not hit if sockets can run so fast. Assert("_6_2_ExceededSocketShouldStacked", 0 < stackedCommandCount, "not match, " + stackedCommandCount); WaitUntil("_6_2_ExceededSocketShouldStacked", () => (infoCount == connectCount), 5); w.Stop(); return(w.ElapsedMilliseconds); }
public void _0_3_SyncInfoTwice(Disquuun disquuun) { WaitUntil("", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); { var datas = disquuun.Info().DEPRICATED_Sync(); var infoStr = DisquuunDeserializer.Info(datas).rawString; Assert("_0_3_SyncInfoTwice", !string.IsNullOrEmpty(infoStr), "empty."); } { var datas = disquuun.Info().DEPRICATED_Sync(); var infoStr = DisquuunDeserializer.Info(datas).rawString; Assert("_0_3_SyncInfoTwice", !string.IsNullOrEmpty(infoStr), "empty."); } }
public void _1_6_Info_Sync(Disquuun disquuun) { WaitUntil("_1_6_Info_Sync", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infoData = disquuun.Info().DEPRICATED_Sync(); var infoResult = DisquuunDeserializer.Info(infoData); Assert("_1_6_Info_Sync", 0, infoResult.jobs.registered_jobs, "not match."); }
public long _0_9_Pipeline(Disquuun disquuun) { WaitUntil("_0_9_Pipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var gotInfoCount = 0; var w = new Stopwatch(); w.Start(); disquuun.Pipeline(disquuun.Info(), disquuun.Info()).Execute( (command, data) => { lock (_0_9_PipelineObject) gotInfoCount++; } ); WaitUntil("_0_9_Pipeline", () => (gotInfoCount == 2), 1); w.Stop(); return(w.ElapsedMilliseconds); }
public long _0_3_SyncInfoTwice(Disquuun disquuun) { WaitUntil("_0_3_SyncInfoTwice", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var w = new Stopwatch(); w.Start(); { var datas = disquuun.Info().DEPRICATED_Sync(); var infoStr = DisquuunDeserializer.Info(datas).rawString; Assert("_0_3_SyncInfoTwice", !string.IsNullOrEmpty(infoStr), "empty."); } { var datas = disquuun.Info().DEPRICATED_Sync(); var infoStr = DisquuunDeserializer.Info(datas).rawString; Assert("_0_3_SyncInfoTwice", !string.IsNullOrEmpty(infoStr), "empty."); } w.Stop(); return(w.ElapsedMilliseconds); }
public void _0_9_2_MultipleCommandPipeline(Disquuun disquuun) { WaitUntil("_0_9_2_MultipleCommandPipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infoCount = 0; var addedJobId = string.Empty; var gotJobId = "_"; var queueId = Guid.NewGuid().ToString(); var jobData = new byte[100]; for (var i = 0; i < jobData.Length; i++) { jobData[i] = 1; } disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline(disquuun.AddJob(queueId, jobData)); disquuun.Pipeline(disquuun.GetJob(new string[] { queueId })).Execute( (command, data) => { switch (command) { case DisqueCommand.INFO: { lock (_0_9_2_MultipleCommandPipelineObject) { infoCount++; } break; } case DisqueCommand.ADDJOB: { lock (_0_9_2_MultipleCommandPipelineObject) { addedJobId = DisquuunDeserializer.AddJob(data); } break; } case DisqueCommand.GETJOB: { lock (_0_9_2_MultipleCommandPipelineObject) { var gotJobDatas = DisquuunDeserializer.GetJob(data); gotJobId = gotJobDatas[0].jobId; disquuun.FastAck(new string[] { gotJobId }).DEPRICATED_Sync(); } break; } } } ); WaitUntil("_0_9_2_MultipleCommandPipeline", () => (infoCount == 1 && !string.IsNullOrEmpty(addedJobId) && gotJobId == addedJobId), 5); }
public void _0_8_Pipeline_Single(Disquuun disquuun) { WaitUntil("_0_8_Pipeline_Single", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var gotInfo = false; disquuun.Pipeline(disquuun.Info()).Execute( (command, data) => { gotInfo = true; } ); WaitUntil("_0_8_Pipeline_Single", () => gotInfo, 1); }
public void _0_4_AsyncInfo(Disquuun disquuun) { WaitUntil("_0_4_AsyncInfo", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infoStr = string.Empty; disquuun.Info().Async( (DisqueCommand command, DisquuunResult[] datas) => { infoStr = DisquuunDeserializer.Info(datas).rawString; } ); WaitUntil("_0_4_AsyncInfo", () => !string.IsNullOrEmpty(infoStr), 5); }
public void _2_6_Info_Async(Disquuun disquuun) { WaitUntil("_2_6_Info_Async", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var registered_jobs = 0; disquuun.Info().Async( (c, data) => { var infoResult = DisquuunDeserializer.Info(data); registered_jobs = infoResult.jobs.registered_jobs; } ); WaitUntil("_2_6_Info_Async", () => (registered_jobs == 0), 5); }
public void _0_5_LoopInfo_Once(Disquuun disquuun) { WaitUntil("_0_5_LoopInfo_Once", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infoStr = string.Empty; disquuun.Info().Loop( (DisqueCommand command, DisquuunResult[] datas) => { infoStr = DisquuunDeserializer.Info(datas).rawString; return(false); } ); WaitUntil("_0_5_LoopInfo_Once", () => !string.IsNullOrEmpty(infoStr), 5); }
public long _1_6_Info_Sync(Disquuun disquuun) { WaitUntil("_1_6_Info_Sync", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var w = new Stopwatch(); w.Start(); var infoData = disquuun.Info().DEPRICATED_Sync(); var infoResult = DisquuunDeserializer.Info(infoData); Assert("_1_6_Info_Sync", 0, infoResult.jobs.registered_jobs, "not match."); w.Stop(); return(w.ElapsedMilliseconds); }
public void _6_0_ExceededSocketNo3In2(Disquuun disquuun) { WaitUntil("_6_0_ExceededSocketNo3In2", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var infoCount = 0; for (var i = 0; i < 3; i++) { disquuun.Info().Async( (command, data) => { infoCount++; } ); } WaitUntil("_6_0_ExceededSocketNo3In2", () => (infoCount == 3), 5); }
public long _2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec(Disquuun disquuun) { WaitUntil("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var jobId = string.Empty; disquuun.AddJob(queueId, data_10, 0, "RETRY", 0, "TTL", 1).Async( (command, result) => { jobId = DisquuunDeserializer.AddJob(result); } ); WaitUntil("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", () => !string.IsNullOrEmpty(jobId), 5); DisquuunDeserializer.Qlen(disquuun.Qlen(queueId).DEPRICATED_Sync()); // getjob (but not ack it.) DisquuunDeserializer.GetJob(disquuun.GetJob(new string[] { queueId }).DEPRICATED_Sync()); // once, queue len should be zero by getJob. var len1 = DisquuunDeserializer.Qlen(disquuun.Qlen(queueId).DEPRICATED_Sync()); Assert("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", len1 == 0, "not match, len1:" + len1); // wait 2 sec. Wait("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", 2); // both qlen and info returns rest job == 0. var len2 = DisquuunDeserializer.Qlen(disquuun.Qlen(queueId).DEPRICATED_Sync()); Assert("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", len2 == 0, "not match, len2:" + len2); // and rest job is 0. var info = DisquuunDeserializer.Info(disquuun.Info().DEPRICATED_Sync()); Assert("_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec", info.jobs.registered_jobs == 0, "not match."); return(0); }
public long _0_8_Pipeline_Single(Disquuun disquuun) { WaitUntil("_0_8_Pipeline_Single", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var gotInfo = false; var w = new Stopwatch(); w.Start(); disquuun.Pipeline(disquuun.Info()).Execute( (command, data) => { gotInfo = true; } ); WaitUntil("_0_8_Pipeline_Single", () => gotInfo, 1); w.Stop(); return(w.ElapsedMilliseconds); }
public long _0_4_AsyncInfo(Disquuun disquuun) { WaitUntil("_0_4_AsyncInfo", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var w = new Stopwatch(); w.Start(); var infoStr = string.Empty; disquuun.Info().Async( (DisqueCommand command, DisquuunResult[] datas) => { infoStr = DisquuunDeserializer.Info(datas).rawString; } ); WaitUntil("_0_4_AsyncInfo", () => !string.IsNullOrEmpty(infoStr), 5); w.Stop(); return(w.ElapsedMilliseconds); }
public void _6_1_ExceededSocketNo100In2(Disquuun disquuun) { WaitUntil("_6_1_ExceededSocketNo100In2", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var infoCount = 0; var connectCount = 1000; for (var i = 0; i < connectCount; i++) { disquuun.Info().Async( (command, data) => { lock (_6_1_ExceededSocketNo100In2LockObject) infoCount++; } ); } WaitUntil("_6_1_ExceededSocketNo100In2", () => (infoCount == connectCount), 5); }
public void _0_7_LoopInfo_100(Disquuun disquuun) { WaitUntil("_0_7_LoopInfo_100", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var infos = new List <string>(); disquuun.Info().Loop( (DisqueCommand command, DisquuunResult[] datas) => { var infoStr = DisquuunDeserializer.Info(datas).rawString; infos.Add(infoStr); if (infos.Count < 100) { return(true); } return(false); } ); WaitUntil("_0_7_LoopInfo_100", () => (infos.Count == 100), 5); }
public long _2_6_Info_Async(Disquuun disquuun) { WaitUntil("_2_6_Info_Async", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var registered_jobs = 0; var w = new Stopwatch(); w.Start(); disquuun.Info().Async( (c, data) => { var infoResult = DisquuunDeserializer.Info(data); registered_jobs = infoResult.jobs.registered_jobs; w.Stop(); } ); WaitUntil("_2_6_Info_Async", () => (registered_jobs == 0), 5); return(w.ElapsedMilliseconds); }
public void _6_2_ExceededSocketShouldStacked(Disquuun disquuun) { WaitUntil("_6_2_ExceededSocketShouldStacked", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var queueId = Guid.NewGuid().ToString(); var infoCount = 0; var connectCount = 1000; for (var i = 0; i < connectCount; i++) { disquuun.Info().Async( (command, data) => { lock (_6_2_ExceededSocketShouldStackedLockObject) infoCount++; } ); } var stackedCommandCount = disquuun.StackedCommandCount(); Assert("_6_2_ExceededSocketShouldStacked", 0 < stackedCommandCount, "not match, " + stackedCommandCount); WaitUntil("_6_2_ExceededSocketShouldStacked", () => (infoCount == connectCount), 5); }
public void _0_9_4_MassiveCommandPipeline(Disquuun disquuun) { WaitUntil("_0_9_4_MassiveCommandPipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var jobCount = 100000; var infoCount = 0; var addedJobIds = new List <string>(); var gotJobIds = new List <string>(); var queueId = Guid.NewGuid().ToString(); var jobData = new byte[100]; for (var i = 0; i < jobData.Length; i++) { jobData[i] = 1; } for (var i = 0; i < jobCount; i++) { disquuun.Pipeline(disquuun.AddJob(queueId, jobData)); } disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline().Execute( (command, data) => { switch (command) { case DisqueCommand.INFO: { lock (_0_9_4_MassiveCommandPipelineObject) { infoCount++; } break; } case DisqueCommand.ADDJOB: { lock (_0_9_4_MassiveCommandPipelineObject) { addedJobIds.Add(DisquuunDeserializer.AddJob(data)); } break; } } } ); disquuun.GetJob(new string[] { queueId }, "count", jobCount).Loop( (commnand, data) => { lock (_0_9_4_MassiveCommandPipelineObject) { gotJobIds.AddRange(DisquuunDeserializer.GetJob(data).Select(j => j.jobId)); if (gotJobIds.Count != jobCount) { return(true); } return(false); } } ); WaitUntil("_0_9_4_MassiveCommandPipeline 0", () => (infoCount == 1 && addedJobIds.Count == jobCount && gotJobIds.Count == jobCount), 20); var fastacked = false; disquuun.FastAck(gotJobIds.ToArray()).Async( (command, data) => { lock (_0_9_4_MassiveCommandPipelineObject) fastacked = true; } ); WaitUntil("_0_9_4_MassiveCommandPipeline 1", () => fastacked, 5); }
public long _0_10_2_MultipleCommandPipeline(Disquuun disquuun) { WaitUntil("_0_10_2_MultipleCommandPipeline", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var w = new Stopwatch(); w.Start(); var infoCount = 0; var addedJobId = string.Empty; var gotJobId = "_"; var queueId = Guid.NewGuid().ToString(); for (var i = 0; i < data_100.Length; i++) { data_100[i] = 1; } disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline(disquuun.AddJob(queueId, data_100)); disquuun.Pipeline(disquuun.GetJob(new string[] { queueId })).Execute( (command, data) => { switch (command) { case DisqueCommand.INFO: { lock (_0_10_2_MultipleCommandPipelineObject) { infoCount++; } break; } case DisqueCommand.ADDJOB: { lock (_0_10_2_MultipleCommandPipelineObject) { addedJobId = DisquuunDeserializer.AddJob(data); } break; } case DisqueCommand.GETJOB: { lock (_0_10_2_MultipleCommandPipelineObject) { var gotdata_100s = DisquuunDeserializer.GetJob(data); gotJobId = gotdata_100s[0].jobId; disquuun.FastAck(new string[] { gotJobId }).DEPRICATED_Sync(); } break; } } } ); WaitUntil("_0_10_2_MultipleCommandPipeline", () => (infoCount == 1 && !string.IsNullOrEmpty(addedJobId) && gotJobId == addedJobId), 5); w.Stop(); return(w.ElapsedMilliseconds); }
public long _0_10_5_Pipelines(Disquuun disquuun) { WaitUntil("_0_10_5_Pipelines", () => (disquuun.State() == Disquuun.ConnectionState.OPENED), 5); var w = new Stopwatch(); w.Start(); var jobCount = 100000; var infoCount = 0; var addedJobIds = new List <string>(); var gotJobIds = new List <string>(); var queueId = Guid.NewGuid().ToString(); for (var i = 0; i < data_100.Length; i++) { data_100[i] = 1; } for (var i = 0; i < jobCount; i++) { if (i == jobCount / 2) { disquuun.RevolvePipeline(); } disquuun.Pipeline(disquuun.AddJob(queueId, data_100)); } disquuun.Pipeline(disquuun.Info()); disquuun.Pipeline().Execute( (command, data) => { lock (_0_10_5_PipelinesObject) { switch (command) { case DisqueCommand.INFO: { infoCount++; break; } case DisqueCommand.ADDJOB: { addedJobIds.Add(DisquuunDeserializer.AddJob(data)); break; } } } } ); WaitUntil("_0_10_5_Pipelines 0", () => (infoCount == 1 && addedJobIds.Count == jobCount), 10); disquuun.GetJob(new string[] { queueId }, "count", jobCount).Loop( (commnand, data) => { lock (_0_10_5_PipelinesObject) { var data_100s = DisquuunDeserializer.GetJob(data).Select(j => j.jobId).ToList(); gotJobIds.AddRange(data_100s); if (gotJobIds.Count != jobCount) { return(true); } return(false); } } ); WaitUntil("_0_10_5_Pipelines 1", () => (gotJobIds.Count == jobCount), 5); var fastacked = false; disquuun.FastAck(gotJobIds.ToArray()).Async( (command, data) => { lock (_0_10_4_MassiveCommandPipelineObject) fastacked = true; } ); WaitUntil("_0_10_5_Pipelines 2", () => fastacked, 5); w.Stop(); return(w.ElapsedMilliseconds); }
public void RunTests() { var tests = new List <Func <Disquuun, long> >(); for (var i = 0; i < 1; i++) { // basement. tests.Add(_0_0_InitWith2Connection); tests.Add(_0_0_1_WaitOnOpen2Connection); tests.Add(_0_0_2_ReadmeSampleSync); tests.Add(_0_0_3_ReadmeSampleAsync); tests.Add(_0_0_4_ReadmeSamplePipeline); tests.Add(_0_1_ConnectedShouldCallOnce); tests.Add(_0_1_ConnectionFailedWithNoDisqueServer); tests.Add(_0_2_SyncInfo); tests.Add(_0_3_SyncInfoTwice); tests.Add(_0_4_AsyncInfo); tests.Add(_0_5_LoopInfo_Once); tests.Add(_0_6_LoopInfo_Twice); tests.Add(_0_7_LoopInfo_100); tests.Add(_0_8_Pipeline_Single); tests.Add(_0_9_Pipeline); // sync apis. DEPRECATED. tests.Add(_1_0_AddJob_Sync); tests.Add(_1_0_1_AddJob_Sync_TimeToLive); tests.Add(_1_0_2_AddJob_Sync_TimeToLive_Wait_Dead); tests.Add(_1_0_3_AddJob_Sync_Retry); tests.Add(_1_0_4_AddJob_Sync_Retry_0_And_TTL_1Sec); tests.Add(_1_1_GetJob_Sync); tests.Add(_1_1_1_GetJobWithCount_Sync); tests.Add(_1_1_2_GetJobFromMultiQueue_Sync); tests.Add(_1_1_3_GetJobWithNoHang_Sync); tests.Add(_1_2_AckJob_Sync); tests.Add(_1_3_Fastack_Sync); tests.Add(_1_1_4_GetJobWithCounters_Sync); // tests.Add(_1_4_Working_Sync); // tests.Add(_1_5_Nack_Sync); tests.Add(_1_6_Info_Sync); tests.Add(_1_7_Hello_Sync); tests.Add(_1_8_Qlen_Sync); tests.Add(_1_9_Qstat_Sync); // tests.Add(_1_10_Qpeek_Sync); // tests.Add(_1_11_Enqueue_Sync); // tests.Add(_1_12_Dequeue_Sync); // tests.Add(_1_13_DelJob_Sync); // tests.Add(_1_14_Show_Sync); // tests.Add(_1_15_Qscan_Sync); // tests.Add(_1_16_Jscan_Sync); // tests.Add(_1_17_Pause_Sync); // async apis. tests.Add(_2_0_AddJob_Async); tests.Add(_2_0_1_AddJob_Async_TimeToLive); tests.Add(_2_0_2_AddJob_Async_TimeToLive_Wait_Dead); tests.Add(_2_0_3_AddJob_Async_Retry); tests.Add(_2_0_4_AddJob_Async_Retry_0_And_TTL_1Sec); tests.Add(_2_1_GetJob_Async); tests.Add(_2_1_1_GetJobWithCount_Async); tests.Add(_2_1_2_GetJobFromMultiQueue_Async); tests.Add(_2_1_3_GetJobWithNoHang_Async); tests.Add(_2_1_4_GetJobWithCounters_Async); tests.Add(_2_2_AckJob_Async); tests.Add(_2_3_Fastack_Async); // tests.Add(_2_4_Working_Async); // tests.Add(_2_5_Nack_Async); tests.Add(_2_6_Info_Async); tests.Add(_2_7_Hello_Async); tests.Add(_2_8_Qlen_Async); tests.Add(_2_9_Qstat_Async); // tests.Add(_2_10_Qpeek_Async); // tests.Add(_2_11_Enqueue_Async); // tests.Add(_2_12_Dequeue_Async); // tests.Add(_2_13_DelJob_Async); // tests.Add(_2_14_Show_Async); // tests.Add(_2_15_Qscan_Async); // tests.Add(_2_16_Jscan_Async); // tests.Add(_2_17_Pause_Async); // multiSocket. tests.Add(_3_0_Nested2AsyncSocket); tests.Add(_3_1_NestedMultipleAsyncSocket); // buffer over. tests.Add(_4_0_ByfferOverWithSingleSyncGetJob_Sync); tests.Add(_4_1_ByfferOverWithMultipleSyncGetJob_Sync); tests.Add(_4_2_ByfferOverWithSokcetOverSyncGetJob_Sync); tests.Add(_4_3_ByfferOverWithSingleSyncGetJob_Async); tests.Add(_4_4_ByfferOverWithMultipleSyncGetJob_Async); tests.Add(_4_5_ByfferOverWithSokcetOverSyncGetJob_Async); // error handling. tests.Add(_5_0_ConnectionFailed); tests.Add(_5_1_ConnectionFailedMultiple); // adding async request over busy-socket num. tests.Add(_6_0_ExceededSocketNo3In2); tests.Add(_6_1_ExceededSocketNo100In2); tests.Add(_6_2_ExceededSocketShouldStacked); // benchmarks. tests.Add(_7_0_AddJob1000); tests.Add(_7_0_0_AddJob1000by100Connection); tests.Add(_7_0_1_AddJob1000byPipeline); tests.Add(_7_0_2_AddJob1000byPipelines); tests.Add(_7_1_GetJob1000); tests.Add(_7_1_0_GetJob1000by100Connection); tests.Add(_7_1_1_GetJob1000byPipeline); tests.Add(_7_1_2_GetJob1000byPipelines); tests.Add(_7_2_GetJob1000byLoop); // scalable benchmarks. tests.Add(_8_0_AddJob1000); tests.Add(_8_0_0_AddJob1000by100Connection); tests.Add(_8_0_1_AddJob1000byPipeline); tests.Add(_8_0_2_AddJob1000byPipelines); tests.Add(_8_1_GetJob1000); tests.Add(_8_1_0_GetJob1000by100Connection); tests.Add(_8_1_1_GetJob1000byPipeline); tests.Add(_8_1_2_GetJob1000byPipelines); tests.Add(_8_2_GetJob1000byLoop); // data size bounding case. tests.Add(_9_0_LargeSizeSendThenSmallSizeSendMakeEmitOnSendAfterOnReceived); tests.Add(_9_1_LargeSizeSendThenSmallSizeSendLoopMakeEmitOnSendAfterOnReceived); // pipeline tests.Add(_0_10_0_PipelineCommands); tests.Add(_0_10_1_MultiplePipeline); tests.Add(_0_10_2_MultipleCommandPipeline); tests.Add(_0_10_3_SomeCommandPipeline); tests.Add(_0_10_4_MassiveCommandPipeline); tests.Add(_0_10_5_Pipelines); } try { var disquuunForResultInfo = new Disquuun( DisquuunTests.TestDisqueHostStr, DisquuunTests.TestDisquePortNum, 10240, 1 ); WaitUntil( "_internal", () => disquuunForResultInfo.State() == Disquuun.ConnectionState.OPENED, 5 ); var i = 0; foreach (var test in tests) { var methodName = i.ToString() + "_" + test.Method.Name; i++; try { var disquuun = new Disquuun( DisquuunTests.TestDisqueHostStr, DisquuunTests.TestDisquePortNum, 2020008, 20, (id) => { }, (k, e) => { }, (currentSocketCount, addSocket) => { return; } );// this buffer size is just for 100byte job x 10000 then receive 1 GetJob(count 1000). // すべての接続ができるまで待つ WaitUntil( "_internal", () => disquuun.State() == Disquuun.ConnectionState.OPENED, 5 ); var elapsedMilliSec = test(disquuun); if (disquuun != null) { disquuun.Disconnect(); disquuun = null; } var info = disquuunForResultInfo.Info().DEPRICATED_Sync(); var result = DisquuunDeserializer.Info(info); var restJobCount = result.jobs.registered_jobs; if (restJobCount != 0) { TestLogger.Log("test:" + methodName + " rest job:" + restJobCount, true); } else { TestLogger.Log("test:" + methodName + " passed. elapsedMilliSec:" + elapsedMilliSec, true); } } catch (Exception e) { TestLogger.Log("test:" + methodName + " FAILED by exception:" + e, true); } } disquuunForResultInfo.Disconnect(); TestLogger.Log("tests end.", true); } catch (Exception e) { TestLogger.Log("tests failed:" + e, true); } }
public void RunTests() { var tests = new List <Action <Disquuun> >(); for (var i = 0; i < 1; i++) { // basement. tests.Add(_0_0_InitWith2Connection); tests.Add(_0_0_1_WaitOnOpen2Connection); tests.Add(_0_0_2_ReadmeSampleSync); tests.Add(_0_0_3_ReadmeSampleAsync); tests.Add(_0_0_4_ConnectedShouldCallOnce); tests.Add(_0_1_ConnectionFailedWithNoDisqueServer); tests.Add(_0_2_SyncInfo); tests.Add(_0_3_SyncInfoTwice); tests.Add(_0_4_AsyncInfo); tests.Add(_0_5_LoopInfo_Once); tests.Add(_0_6_LoopInfo_Twice); tests.Add(_0_7_LoopInfo_100); // sync apis. DEPRECATED. tests.Add(_1_0_AddJob_Sync); tests.Add(_1_1_GetJob_Sync); tests.Add(_1_1_1_GetJobWithCount_Sync); tests.Add(_1_1_2_GetJobFromMultiQueue_Sync); tests.Add(_1_1_3_GetJobWithNoHang_Sync); tests.Add(_1_2_AckJob_Sync); tests.Add(_1_3_Fastack_Sync); tests.Add(_1_1_4_GetJobWithCounters_Sync); // tests.Add(_1_4_Working_Sync); // tests.Add(_1_5_Nack_Sync); tests.Add(_1_6_Info_Sync); tests.Add(_1_7_Hello_Sync); tests.Add(_1_8_Qlen_Sync); tests.Add(_1_9_Qstat_Sync); // tests.Add(_1_10_Qpeek_Sync); // tests.Add(_1_11_Enqueue_Sync); // tests.Add(_1_12_Dequeue_Sync); // tests.Add(_1_13_DelJob_Sync); // tests.Add(_1_14_Show_Sync); // tests.Add(_1_15_Qscan_Sync); // tests.Add(_1_16_Jscan_Sync); // tests.Add(_1_17_Pause_Sync); // async apis. tests.Add(_2_0_AddJob_Async); tests.Add(_2_1_GetJob_Async); tests.Add(_2_1_1_GetJobWithCount_Async); tests.Add(_2_1_2_GetJobFromMultiQueue_Async); tests.Add(_2_1_3_GetJobWithNoHang_Async); tests.Add(_2_1_4_GetJobWithCounters_Async); tests.Add(_2_2_AckJob_Async); tests.Add(_2_3_Fastack_Async); // tests.Add(_2_4_Working_Async); // tests.Add(_2_5_Nack_Async); tests.Add(_2_6_Info_Async); tests.Add(_2_7_Hello_Async); tests.Add(_2_8_Qlen_Async); tests.Add(_2_9_Qstat_Async); // tests.Add(_2_10_Qpeek_Async); // tests.Add(_2_11_Enqueue_Async); // tests.Add(_2_12_Dequeue_Async); // tests.Add(_2_13_DelJob_Async); // tests.Add(_2_14_Show_Async); // tests.Add(_2_15_Qscan_Async); // tests.Add(_2_16_Jscan_Async); // tests.Add(_2_17_Pause_Async); // multiSocket. tests.Add(_3_0_Nested2AsyncSocket); tests.Add(_3_1_NestedMultipleAsyncSocket); // buffer over. tests.Add(_4_0_ByfferOverWithSingleSyncGetJob_Sync); tests.Add(_4_1_ByfferOverWithMultipleSyncGetJob_Sync); tests.Add(_4_2_ByfferOverWithSokcetOverSyncGetJob_Sync); tests.Add(_4_3_ByfferOverWithSingleSyncGetJob_Async); tests.Add(_4_4_ByfferOverWithMultipleSyncGetJob_Async); tests.Add(_4_5_ByfferOverWithSokcetOverSyncGetJob_Async); // error handling. tests.Add(_5_0_ConnectionFailed); tests.Add(_5_1_ConnectionFailedMultiple); // adding async request over busy-socket num. tests.Add(_6_0_ExceededSocketNo3In2); tests.Add(_6_1_ExceededSocketNo100In2); tests.Add(_6_2_ExceededSocketShouldStacked); // benchmarks. tests.Add(_7_0_AddJob1000); tests.Add(_7_0_0_AddJob1000by100Connectoion); tests.Add(_7_1_GetJob1000); tests.Add(_7_1_0_GetJob1000by100Connection); tests.Add(_7_2_GetJob1000byLoop); // data size bounding case. tests.Add(_8_0_LargeSizeSendThenSmallSizeSendMakeEmitOnSendAfterOnReceived); tests.Add(_8_1_LargeSizeSendThenSmallSizeSendLoopMakeEmitOnSendAfterOnReceived); } try { TestLogger.Log("tests started.", true); var disquuunForResultInfo = new Disquuun(DisquuunTests.TestDisqueHostStr, DisquuunTests.TestDisquePortNum, 10240, 1); WaitUntil("testRunner:", () => (disquuunForResultInfo.State() == Disquuun.ConnectionState.OPENED), 5); var i = 0; foreach (var test in tests) { var methodName = i.ToString() + test.GetType(); i++; try { var disquuun = new Disquuun(DisquuunTests.TestDisqueHostStr, DisquuunTests.TestDisquePortNum, 2020008, 2); // this buffer size is just for 100byte job x 10000 then receive 1 GetJob(count 1000). test(disquuun); if (disquuun != null) { disquuun.Disconnect(); disquuun = null; } var info = disquuunForResultInfo.Info().DEPRICATED_Sync(); var result = DisquuunDeserializer.Info(info); var restJobCount = result.jobs.registered_jobs; if (restJobCount != 0) { TestLogger.Log("test:" + methodName + " rest job:" + restJobCount, true); } else { TestLogger.Log("test:" + methodName + " passed. no job exists.", true); } } catch (Exception e) { TestLogger.Log("before error...", true); TestLogger.Log("test:" + methodName + " FAILED by exception:" + e, true); } } disquuunForResultInfo.Disconnect(); TestLogger.Log("tests end.", true); } catch (Exception e) { TestLogger.Log("tests failed:" + e.Message, true); } }