From 83db797a6925561f801d79f05451c97b9255245b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tom=C3=A1=C5=A1=20Brada?= Date: Mon, 30 Nov 2015 11:58:48 +0100 Subject: [PATCH] Downloader test. --- TestFS.pas | 19 ++++++++++--------- TestTC.pas | 50 -------------------------------------------------- brodnetd.pas | 1 + 3 files changed, 11 insertions(+), 59 deletions(-) delete mode 100644 TestTC.pas diff --git a/TestFS.pas b/TestFS.pas index 5a697c5..780a04a 100644 --- a/TestFS.pas +++ b/TestFS.pas @@ -2,7 +2,7 @@ unit TestFS; INTERFACE IMPLEMENTATION -USES ServerLoop,Chat,SysUtils,MemStream,NetAddr,opcode,Download,Store1; +USES ServerLoop,Chat,SysUtils,MemStream,NetAddr,opcode,Download,Store1,sha1; type t=object job:^tDownloadJob; @@ -15,14 +15,16 @@ end; procedure t.Periodic; begin write('TestFS: ',job^.state); - if job^.state=stError then write(job^.error,'-',job^.error2); - writeln(' total=',job^.total,' done=',job^.done); + if job^.state>=stError then write(job^.error,'-',job^.error2); + writeln(' total=',job^.total,' done=',job^.done,' miss=',job^.missc); + if job^.state<>stActive then Rekt else Shedule(800,@Periodic); end; procedure t.Rekt; begin writeln('TestFS: rekt'); + Job^.Free; UnShedule(@HardTimeout); UnShedule(@Periodic); FreeMem(@self,sizeof(self)); @@ -31,8 +33,7 @@ end; procedure t.HardTimeout; begin writeln('TestFS: hardtimeout'); - //ch.DisposeHook:=@Rekt; - //ch.Close; + Rekt; end; procedure init; @@ -44,12 +45,12 @@ procedure init; begin oi:=OptIndex(opt); if oi>0 then begin - assert(OptParamCount(oi)=1,opt+'(rcpt:tNetAddr)'); - writeln('TestFS: rcpt '+paramstr(oi+1)); + assert(OptParamCount(oi)=2,opt+'(rcpt:tNetAddr fid:sha1)'); + fid:=tFID(paramstr(oi+2)); + writeln('TestFS: rcpt '+paramstr(oi+1),' ',sha1print(fid)); new(o); with o^ do begin - Shedule(20000,@HardTimeout); + //Shedule(15000,@HardTimeout); Shedule(20,@Periodic); - FillChar(fid,sizeof(fid),0); job:=NewJob(paramstr(oi+1),fid); if job^.state=stStop then job^.Start; end; diff --git a/TestTC.pas b/TestTC.pas deleted file mode 100644 index 846caba..0000000 --- a/TestTC.pas +++ /dev/null @@ -1,50 +0,0 @@ -unit TestTC; -INTERFACE -IMPLEMENTATION -USES ServerLoop - ,TC - ,MemStream - ,NetAddr - ,SysUtils - ; -type t=object - tcs:TC.tTCS; - cnt:byte; - buf: array [1..4096] of char; - procedure CanSend; -end; - -procedure t.CanSend; - var s:tMemoryStream; - var size:word; - begin - s.Init(@buf,0,4096); - size:=tcs.MaxSize(4096); - tcs.WriteHeaders(s); - if size>s.size then size:=s.size; - s.Skip(size-1); - s.WriteByte(9); - tcs.Send(s); -end; - -procedure Test; - var o:^t; - var oi:word; - const opt='-test-tc'; - begin - oi:=OptIndex(opt); - if oi>0 then begin - assert(OptParamCount(oi)=1,opt+'(rcpt:tNetAddr) '+IntToStr(OptParamCount(oi))); - New(o); - with o^ do begin - cnt:=0; - tcs.Init(paramstr(oi+1)); - tcs.CanSend:=@CanSend; - tcs.Start; - end; - end; -end; - -BEGIN - test; -END. \ No newline at end of file diff --git a/brodnetd.pas b/brodnetd.pas index 2517382..b5a792d 100644 --- a/brodnetd.pas +++ b/brodnetd.pas @@ -7,6 +7,7 @@ uses cthreads,ServerLoop ,AsyncProcess ,Upload ,Download + ,TestFS ; BEGIN -- 2.11.4.GIT