perlunit-devel Mailing List for PerlUnit (Page 3)
Status: Beta
Brought to you by:
mca1001
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(77) |
Dec
(28) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(1) |
Feb
(1) |
Mar
(13) |
Apr
(1) |
May
(5) |
Jun
(20) |
Jul
(3) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(5) |
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Piers C. <pdc...@bo...> - 2002-05-24 13:24:26
|
Adam Spiers <ad...@sp...> writes: > Piers Cawley (pdc...@bo...) wrote: >> I'm doing a really crap job of this aren't I? And I've been pulled >> into working on about three other projects that are taking up all my >> time. >> >> Adam, would you mind awfully taking on the mantle of official >> maintainer and maybe getting a release out? > > OK then. I'll see if I can dump any of my existing projects on > someone else :-) Can you transfer CPAN ownership? As I didn't actually do a release I'm not entirely sure I ever *had* CPAN ownership. I'll go look. -- Piers "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen? |
From: Adam S. <ad...@sp...> - 2002-05-24 10:28:19
|
Piers Cawley (pdc...@bo...) wrote: > I'm doing a really crap job of this aren't I? And I've been pulled > into working on about three other projects that are taking up all my > time. > > Adam, would you mind awfully taking on the mantle of official > maintainer and maybe getting a release out? OK then. I'll see if I can dump any of my existing projects on someone else :-) Can you transfer CPAN ownership? |
From: Piers C. <pdc...@bo...> - 2002-05-23 18:00:33
|
I'm doing a really crap job of this aren't I? And I've been pulled into working on about three other projects that are taking up all my time. Adam, would you mind awfully taking on the mantle of official maintainer and maybe getting a release out? -- Piers "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen? |
From: Adam S. <ad...@sp...> - 2002-05-23 15:56:06
|
After a few improvements, I've just bumped the version in CVS to 0.22. Piers, any chance you could release this soon? If not, let me know and I'll look into making a release (although I don't think I'm authorised to be able to upload to CPAN). |
From: KAMPANYA <1t...@tt...> - 2002-05-19 09:56:31
|
=3Chtml=3E=3Chead=3E=3Cmeta http-equiv=3DContent-Language content=3Dtr=3E=3Cmeta http-equiv=3DContent-Type content=3D=22text=2Fhtml=3B charset=3Dwindows-1254=22=3E=3Ctitle=3ETR Rehber 6=3C=2Ftitle=3E=3C=2Fhead=3E =3Cbody background=3D=22http=3A=2F=2Ftrreklam2=2Esitemynet=2Ecom=2Fback1=2Egif=3E=22 topmargin=3D1 leftmargin=3D1 bgcolor=3D=22#CECFFF=22=3E =3Cdiv align=3Dcenter style=3D=22width=3A 1133=3B height=3A 507=22=3E=3Ccenter=3E =3Ctable border=3D=220=22 cellpadding=3D=220=22 cellspacing=3D=220=22 style=3D=22border-collapse=3A collapse=22 width=3D=2254%=22 id=3D=22AutoNumber4=22=3E =3Ctr=3E =3Ctd width=3D=22100%=22=3E =3Cp align=3D=22center=22=3E =3Cimg border=3D=222=22 src=3D=22http=3A=2F=2Ftrreklam2=2Esitemynet=2Ecom=2Fbanner1=2Egif=22 align=3D=22center=22 width=3D=22610=22 height=3D=2281=22=3E=3C=2Ftd=3E =3C=2Ftr=3E =3C=2Ftable=3E =3Ctable border=3D1 cellspacing=3D1 style=3D=22border-collapse=3A collapse=22 bordercolor=3D=22#111111=22 width=3D612 id=3DAutoNumber1 height=3D131 bgcolor=3D=22#CECFFF=22 background=3D=22http=3A=2F=2Ftrreklam2=2Esitemynet=2Ecom=2Fback1=2Egif=22=3E=3Ctr=3E =3Ctd width=3D606 height=3D16 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E=3Cp align=3Dcenter=3E=3Cb=3E=3Cfont face=3DArial color=3D=22#FF0000=22=3E =3Cmarquee scrolldelay=3D100 scrollamount=3D9=3EREKLAMLARINIZA SERVET =D6DEMEYiN!!! UCUZ=2C KOLAY VE KALICI REKLAMLARINIZ iCiN BiZi ARAYINIZ=2E=2E=2E=3C=2Fmarquee=3E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D606 height=3D29 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E=3Cp align=3Dcenter=3E=3Cfont face=3DTahoma size=3D2 color=3D=22#000000=22=3E Bu ileti size islerinizi kolaylastirmak=2C satislarinizi arttirmak=2C kisacasi milyonlara sesinizi duyurmak icin g=F6nderilmistir=2E Bu t=FCrden tanitimlarla ilgilenmiyorsaniz bu iletiyi=2C "=3Bilgilenecegini d=FCs=FCnd=FCg=FCn=FCz"=3B tanidiklariniza g=F6nderiniz=2E Bu iletinin size ve tanidiklariniza kazandiracaklarina inanamayacaksiniz!=2E=3Cbr=3EHerseye ragmen bizden e-mail almak istemiyor ve satisa sundugumuz=3Cbr=3E =3Blistelerden cikmak istiyorsaniz bu iletiyi bos olarak cevaplamaniz yeterli olacaktir=2E=3Cbr=3E T=FCm =F6nerilerinizi dikkate alip degerlendiriyoruz=2E=2E L=FCtfen olumlu olumsuz elestirileriniz icin web sayfamizdaki iletisim formunu kullaniniz=2E=2E=3C=2Ffont=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D606 height=3D11 bgcolor=3D=22#00FFFF=22 colspan=3D=222=22=3E =3Cp align=3D=22center=22=3E =3Cb=3E =3Cfont face=3DVerdana size=3D=222=22=3EHerhangi bir =FCr=FCn=FCm=FCz=FC aldiginizda Sitenizi 800=2E000 =3Cbr=3E Arama Motoruna =3Cu=3E=FCcretsiz=3C=2Fu=3E kay=FDt yap=FDyoruz=2E=2E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D312 height=3D11 bgcolor=3D=22#00FFFF=22=3E =3Cp align=3D=22center=22=3E=3Cb=3E=3Cfont face=3D=22Franklin Gothic Medium=22=3ETR-Rehber 7=2E0 =3Cfont color=3D=22#FFFF00=22=3E=3Cspan style=3D=22background-color=3A #000000=22=3E=28En G=FCncel=29=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E =3Ctd width=3D294 height=3D11 bgcolor=3D=22#00FFFF=22=3E=3Cp align=3Dcenter=3E=3Cb=3E=3Cfont face=3D=22Franklin Gothic Medium=22=3E World Rehber 2=2E0=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E=3Ctd width=3D312 height=3D184=3E=3Cul style=3D=22margin-left=3A 18=22=3E=3Cli=3E =3Cfont face=3D=22Verdana=22 size=3D=222=22=3E4=2E000=2E000 yerli e-mail adresi=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3EDetayli kategorizasyon=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3EKullanimi daha kolay=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3ESon g=FCncelleme 10 Mayis 2002=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3D=22Verdana=22 size=3D=222=22=3Eilave programlar=2C=3C=2Ffont=3E=3C=2Fli=3E=3C=2Ful=3E=3Cp align=3Dcenter=3E=3Cfont face=3DVerdana size=3D2=3EMemnun kalacaginiz sekilde=3Cbr=3E =3Bhazirlanmis bu rehber sadece=3Cbr=3E=3C=2Ffont=3E=3Cfont face=3DArial=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3E =3Cfont size=3D2 color=3D=22#FFFFFF=22=3E 450=2E000=2E000 TL=2E + KDV Yerine=3Cbr=3E =3C=2Ffont=3E=3Cb=3E =3Cfont size=3D4 color=3D=22#FFFFFF=22=3E 250=2E000=2E000 TL=2E + KDV =3C=2Ffont=3E=3C=2Fb=3E=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Fp=3E=3C=2Ftd=3E =3Ctd width=3D294 height=3D184=3E=3Cul style=3D=22margin-left=3A 23=22=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3E150=2E000=2E000 yabanci e-mail adresi=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3EDetayli kategorizasyon=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3EKullanimi daha kolay=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3ESon g=FCncelleme Nisan 2002=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E =3Cfont face=3D=22Verdana=22 size=3D=222=22=3Eilave programlar=2C=3C=2Ffont=3E=3C=2Fli=3E=3C=2Ful=3E=3Cp align=3Dcenter=3E=3Cfont face=3DVerdana size=3D2=3EMemnun kalacaginiz sekilde=3Cbr=3E =3Bhazirlanmis bu rehber sadece=3Cbr=3E=3C=2Ffont=3E=3Cfont face=3DArial=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3E =3Cfont size=3D2 color=3D=22#FFFFFF=22=3E 400=2E000=2E000 TL=2E + KDV Yerine=3Cbr=3E =3C=2Ffont=3E=3Cb=3E =3Cfont size=3D4 color=3D=22#FFFFFF=22=3E 250=2E000=2E000 TL + KDV=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Fp=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D606 height=3D1 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E=3Cp align=3Dcenter=3E=3Cb=3E =3Cfont face=3DVerdana color=3D=22#FFFFFF=22=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3E =3Cfont size=3D=222=22=3Eiki rehber birlikte sadece 725=2E000=2E000 TL=2E + KDV Yerine=3C=2Ffont=3E=3Cbr=3E 450=2E000=2E000 TL + KDV=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3C=2Ftable=3E=3C=2Fcenter=3E=3C=2Fdiv=3E=3Cdiv align=3Dcenter=3E=3Ccenter=3E =3Ctable border=3D1 cellspacing=3D1 style=3D=22border-collapse=3A collapse=22 bordercolor=3D=22#111111=22 width=3D612 id=3DAutoNumber1 height=3D149 bgcolor=3D=22#CECFFF=22 background=3D=22http=3A=2F=2Ftrreklam2=2Esitemynet=2Ecom=2Fback1=2Egif=22=3E=3Ctr=3E =3Ctd width=3D606 height=3D5 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E=3Cp align=3Dcenter=3E =3Cb=3E =3Cfont face=3DVerdana size=3D=222=22=3EHerhangi bir =FCr=FCn=FCm=FCz=FC aldiginizda SANAYi CD Rehberini =3Cbr=3E !!HEDiYE EDiYORUZ!!=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D312 height=3D6 bgcolor=3D=22#00FFFF=22=3E=3Cp align=3Dcenter=3E=3Cb=3E=3Cfont face=3D=22Franklin Gothic Medium=22=3EICQ TR Rehber 1=2E0=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E =3Ctd width=3D294 height=3D6 bgcolor=3D=22#00FFFF=22=3E=3Cp align=3Dcenter=3E=3Cb=3E=3Cfont face=3D=22Franklin Gothic Medium=22=3ESanayi Rehberi 1=2E0=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D312 height=3D194=3E =3B=3Cul style=3D=22margin-left=3A 18=22=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3E2=2E000=2E000 T=FCrk ICQ adresi=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3ET=FCm T=FCrkiye'ye direkt ulasim=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3EBasit ve hizli mesaj iletimi=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3ESon g=FCncelleme Subat 2002=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E =3Cspan style=3D=22background-color=3A #00FFFF=22=3E=3Cfont face=3D=22Verdana=22 size=3D=222=22=3Ei=3C=2Ffont=3E=3C=2Fspan=3E=3Cfont face=3DVerdana size=3D2=3E=3Cspan style=3D=22background-color=3A #00FFFF=22=3Ellere ve yas gruplarina g=F6re kategori=3C=2Fspan=3E=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cfont face=3DVerdana size=3D2=3EEn hizli g=F6nderim programlariyla birlikte=2E=2E=3C=2Ffont=3E=3C=2Fli=3E=3C=2Ful=3E=3Cp align=3Dcenter=3E=3Cfont face=3DVerdana size=3D2=3EMemnun kalacaginiz sekilde=3Cbr=3E =3Bhazirlanmis bu rehber sadece=3Cbr=3E=3C=2Ffont=3E=3Cfont face=3DArial=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3E =3Cfont size=3D2 color=3D=22#FFFFFF=22=3E 400=2E000=2E000 TL=2E + KDV Yerine=3Cbr=3E =3Cb=3E200=2E000=2E000 TL + KDV=3C=2Fb=3E=3C=2Ffont=3E=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Fp=3E=3C=2Ftd=3E =3Ctd width=3D294 height=3D194=3E=3Cul style=3D=22margin-left=3A 23=22=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3ET=FCrkiye'deki t=FCm firmalar=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3ET=FCm meslek gruplarina g=F6re=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E =3Cfont face=3D=22Verdana=22 size=3D=222=22=3Eillere ve sanayi b=F6lgelerine g=F6re=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3E=C7ok detayli kategorizasyon=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3E Posta=2CTelefon=2CFax ve=3Cbr=3Ee-mail adresleri=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3ESon g=FCncelleme Ocak 2001=2C=3C=2Ffont=3E=3C=2Fli=3E=3Cli=3E=3Cp style=3D=22margin-left=3A -6=22=3E=3Cfont face=3DVerdana size=3D2=3EKullanimi kolay arabilimiyle=2E=2E=3C=2Ffont=3E=3C=2Fli=3E=3C=2Ful=3E=3Cp align=3Dcenter=3E=3Cfont face=3DVerdana size=3D2=3EElinizin altinda bulunmasi gereken=3Cbr=3Ebu rehber sadece=3Cbr=3E=3C=2Ffont=3E=3Cfont face=3DArial=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3E =3Cfont size=3D2 color=3D=22#FFFFFF=22=3E 100=2E000=2E000 TL=2E + KDV Yerine=3Cbr=3E =3Cb=3E50=2E000=2E000 TL + KDV=3C=2Fb=3E=3C=2Ffont=3E=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Fp=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D606 height=3D1 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E =3Cp align=3Dleft=3E =3B=3Cul style=3D=22margin-top=3A -8=22=3E =3Cli style=3D=22line-height=3A 100%=22=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E=3Cb=3E =3Cfont face=3DVerdana size=3D1=3EG=FCncelleme islemlerinde m=FCsterilerimiz %25 indirime sahip oluyorlar=2E=2E =3Cbr=3E Not=3A bu kampanya icin gecerli degildir=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Dleft style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E =3Cb=3E =3Cfont face=3DVerdana size=3D2 color=3D=22#FF0000=22=3E 800=2E000 Arama motoruna kayit islemi 30=2E000=2E000TL + KDV =3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E=3Cb=3E=3Cfont face=3DVerdana size=3D1 color=3D=22#000000=22=3ET=FCm versiyonlarimizda g=F6nderim islemi icin gerekli ve en kullanisli programlar bulunmaktadir=2E=3C=2Ffont=3E=3Cfont face=3DVerdana size=3D1=3E Bu programlarin video formatinda aciklamalari da CD'ler icerisinde bulunmaktadir=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E=3Cb=3E=3Cfont face=3D=22Verdana=22 size=3D=221=22=3EBu programlar sizin iletilerinizi kolay bir sekilde g=F6ndermenizi saglarken=2C iletilerinizi alan kisilerin kullandigi serverlarin da yorulmamasini=28karsi tarafta problem yaratilmamasini=29 saglayacaktir=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E =3Cb=3E=3Cfont face=3D=22Verdana=22 size=3D=221=22=3EBu programlar ISP yada hosting firmanizin SMTP serverini kullanmaniza gerek kalmadan direkt g=F6nderim yapabilmenizi saglayacaktir=2E isterseniz bir checkbox'i isaretliyerek kullanmak istediginiz SMTP server ile =3B fault-tolerance yaparak g=F6nderdiginiz iletilerin %100 yerine ulasmasini saglayabilirsiniz=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E =3Cb=3E=3Cfont face=3D=22Verdana=22 size=3D=221=22=3ESMTP server kullanmadan g=F6nderdiginiz mesajlar bilinenin aksine daha basarili g=F6nderim yapacakdir=2E C=FCnk=FC mesajlarin yerine ulasip ulasmadigini g=F6r=FCp m=FCdahele yapmak sizin elinizde olacaktir=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E =3Cb=3E=3Cfont face=3D=22Verdana=22 size=3D=221=22=3EAyrica bu programlar HTML formatinda mesaj g=F6nderimini de desteklemektedir=2E Bu destek sayesinde renkli=2C resimli daha g=F6rsel ve dikkat cekici iletiler g=F6nderebilirsiniz=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E=3Cb=3E=3Cfont face=3DVerdana size=3D1=3ECD icerisindeki b=FCy=FCk e-mail listelerini kolayca d=FCzenleyebileceginiz=2C istenmeyen e-mail adreslerini otomatik olarak silebileceginiz ve her t=FCrl=FC kategoriye ayirabileceginiz programlar da =FCcretsiz olarak verilmektedir=2E=2E=2E=3Cbr=3E  =3B=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3Cli=3E =3Cp align=3Djustify style=3D=22margin-right=3A 23=3B margin-top=3A -9=3B margin-bottom=3A 0=22=3E=3Cb=3E=3Cfont face=3D=22Verdana=22 size=3D=221=22=3ETR rehber ve World Rehberi birlikte aldiginizda=2C bir sonraki g=FCncel versiyonlari adresinize =FCcretsiz g=F6nderiyoruz=2E=2E=2E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Fli=3E =3C=2Ful=3E =3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E=3Ctd width=3D606 height=3D1 bgcolor=3D=22#00FFFF=22 colspan=3D2=3E =3Cp align=3D=22center=22=3E=3Cfont face=3DVerdana=3E=3Cb=3E=3Cbr=3E =2E=3A=3A HEDEF KiTLE TESPiDi =3A=3A=2E=3Cbr=3E=3C=2Fb=3EHedef kitlenize ulasmanizi sa=F0layaci=F0imiz bu =F6zel y=F6ntem hakkinda mutlaka bilgi isteyiniz=2E=2E Kisa bir s=FCre icin tanitim amacli uygun fiyatlarimizdan yararlanin=2E=2E=3Cbr=3E =3Cb=3E=2E=3A=3A TARGET MAILLING =3A=3A=2E=3Cbr=3E  =3B=3C=2Fb=3E=3C=2Ffont=3E=3C=2Ftd=3E=3C=2Ftr=3E=3C=2Ftable=3E=3C=2Fcenter=3E=3C=2Fdiv=3E=3Cdiv align=3Dcenter=3E=3Ccenter=3E =3Ctable border=3D1 cellpadding=3D2 cellspacing=3D1 style=3D=22border-collapse=3A collapse=22 bordercolor=3D=22#111111=22 width=3D612 id=3DAutoNumber3 height=3D131 bgcolor=3D=22#CECFFF=22 background=3D=22http=3A=2F=2Ftrreklam2=2Esitemynet=2Ecom=2Fback1=2Egif=22=3E=3Ctr=3E =3Ctd width=3D607 height=3D20 bgcolor=3D=22#00FFFF=22=3E =3Cp align=3D=22center=22=3E=3Cu=3E=3Cb=3Eiletisim Bilgileri =3A =28 Pazar haric herg=FCn 09=3A00 ile 19=3A00 arasi=29=3C=2Fb=3E=3C=2Fu=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D607 height=3D52=3E=3Cp align=3Dcenter=3E=3Cfont face=3DVerdana size=3D=224=22=3E =3Cspan style=3D=22background-color=3A #FF0000=22=3EGSM=3A+ 90 535 482-97-19 =3B G=F6khan ATASOY=3C=2Fspan=3E=3C=2Ffont=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E=3Ctd width=3D607 height=3D109=3E=3Cp align=3Dcenter=3E=3Cb=3E =3Cfont face=3D=22Verdana=2C Arial=2C Helvetica=2C sans-serif=22 color=3D=22#FF0000=22=3E =3BG=FCn=FCm=FCz T=FCrkiye'sinde internet araciligiyla yapilan reklamlar hizla artmaktadir=2E T=FCrkiye'de ve d=FCnyada bircok firma bu y=F6ntemlerle kendini tanitmaktadir=2EBu artisin icinde sizin de yeralmaniz kacinilmaz bir gercek olacaktir=2E=3C=2Ffont=3E=3C=2Fb=3E=3C=2Ftd=3E=3C=2Ftr=3E=3Ctr=3E =3Ctd width=3D607 height=3D1=3E=3Cp align=3Dcenter=3E=3Cfont face=3DTahoma size=3D2 color=3D=22#000000=22=3EHerseye ragmen bizden e-mail almak istemiyor ve satisa sundugumuz=3Cbr=3E  =3Blistelerden cikmak istiyorsaniz =3C=2Ffont=3E=3Cb=3E =3Cfont face=3D=22Arial=22 size=3D=222=22=3E =3Ca title=3D=22 Listeden Cikmak istiyorum=22 href=3D=22mailto=3Abenisil=40gmx=2Enet=3Fsubject=3Dremove=22=3E benisil=40gmx=2Enet=3C=2Fa=3E=3C=2Ffont=3E=3C=2Fb=3E=3Cfont face=3D=22Arial=22 color=3D=22#ffffff=22 size=3D=222=22=3E=3Cb=3E =3C=2Fb=3E=3C=2Ffont=3E=3Cfont face=3DTahoma size=3D2 color=3D=22#000000=22=3Eadresine bo=FE bir mail g=F6ndermeniz yeterli olacakd=FDr=2E =3C=2Ffont=3E=3C=2Ftd=3E=3C=2Ftr=3E=3C=2Ftable=3E=3C=2Fcenter=3E=3C=2Fdiv=3E =3C=2Fbody=3E=3C=2Fhtml=3E |
From: Matthias F. <mf...@hi...> - 2002-04-02 01:10:25
|
Hi all, I've written a TestDecorator for PerlUnit that runs the tests in a suite in parallel -- a very useful feature when testing the results of a series of web queries, since they're time consuming. (I did this a while ago in JUnit, but it was rather easier there thanks to threading.) The problem I've hit has to do with the interprocess communication. I used the Perl built-in interface to SysV message queues -- msgsnd, msgrcv, etc., or rather the SysV::* wrapper classes -- to let the parallel test results be combined into one result set. The problem is that the message queue or queues created will never get cleaned up if the test is cancelled by the user or crashes; they'll just clutter up the OS. And trying to trap signals to clean up the mess on exit is, by all accounts, impossible to do reliably and safely. Any suggestions from PerlUnitLand? I'd welcome either practical solutions to this problem, or even suggestions for another approach entirely. My ulterior motive is that I think this decorator is useful enough to be made public, possibly even bundled with PerlUnit, but I don't want to do that unless it's more robust than this. -- Matthias |
From: Matthias F. <mf...@hi...> - 2002-03-27 23:45:28
|
Hi folks, Is this a bug? In the default run() implementation for Test::Unit::Decorator, I'm pretty sure the last line should be $self->basic_run($result) -- the test object doesn't have a basic_run method. Usually run() will be overridden, but this broke a partial test I was trying. sub run { my $self = shift; my ($result) = @_; $self->{_fTest}->basic_run($result); } Thanks, Matthias |
From: Adam S. <ad...@sp...> - 2002-03-26 13:36:40
|
Oliver Fischer (pl...@sn...) wrote: > does some one know, when the next release will be? I think what a lot of > things changed since 0.14. That's right, a lot of things have changed. Piers, any thoughts? If you're really snowed under, maybe I can do all of it except the CPAN upload. There are still some pre-1.0 issues in doc/TODO, so maybe it should be 0.20 for now or something. |
From: Oliver F. <pl...@sn...> - 2002-03-25 19:45:07
|
Hello, does some one know, when the next release will be? I think what a lot of things changed since 0.14. Bye Oliver -- Oliver Fischer - mailto:pl...@sn... |
From: Matthias F. <mf...@hi...> - 2002-03-18 18:26:56
|
Thanks for the help, Adam, that's reassuring. I'm not actually sure whether the syntax I showed as an example would be the best interpretation in practice, actually. Right now, if I'm reading the code right, TestRunner::start() ignores all but the last argument (not counting switches). I can see two reasonable ways to change that: one is to take the first non-switch argument as the name of the class to build a suite from and pass the remaining arguments to its constructor, which would handle the situation I'm working on and would look like my example; the other thing it could do is interpret all the arguments as separate test classes, and build a suite combining the suites from each of those classes. I like the first idea because it adds flexibility in situations like mine, but the second is perhaps more intuitive and maybe even more useful most of the time. So I think I'll just throw these both out as possibilities for thought and let 'em fall where they may. Re TestRunner.pm, if you're going to clean up that part of the code anyway, and if do_run() is going to be public, may I suggest naming it run_suite() instead for clarity? Thanks, Matthias On Mon, 18 Mar 2002, Adam Spiers wrote: > Matthias Ferber (mf...@hi...) wrote: > > Er, question first, shall we? I wonder if you have a recommendation for > > how to approach the problem I'm trying to solve, given PerlUnit's current > > architecture. I want to be able to start a TestRunner running against a > > dynamically generated suite, where the suite itself is determined by the > > command line. > > > > So, for instance, I imagine the command line looking something like this: > > > > perl TestRunner.pl MyTestMaker arg1 arg2.... > > > > where MyTestMaker has a suite() method that uses the arguments to generate > > the appropriate test suite. The thing is, there's no way for MyTestMaker > > to get access to the arguments, because they're all eaten up by TestRunner > > and not passed along. Is there another way (a "right" way) to do this? > > > > My solution so far is to bypass TestRunner.pl, instead using a script that > > generates the test suite, creates a new TestRunner object and starts it > > running with the constructed suite. The two things I don't like about > > this are that it relies on the TestRunner::do_run() method, which I'm not > > sure is a public part of the API, and that I'd rather use TestRunner.pl if > > at all possible. Any suggestions? > > I think you've done the right thing (in the context of the current > PerlUnit tree, at least), and that do_run() should be part of the > public API. If you wanted to extend the argument syntax of > TestRunner.pl to allow parameters to be passed to tests, feel free to > post a proposed syntax here. > > It looks like this part of PerlUnit needs a bit of a spring-clean; for > instance, I can't see anything that uses TestRunner::run() or > TestRunner::run_and_wait(). I'll add this to the TODO list. > > > OK, now my own small suggestion. I was confused at first when a Boolean > > assertion failed with the message "Expected TRUE, got FALSE." Seems to me > > that a Boolean test doesn't have an expected value the way an equality > > assertion does; how about changing the message to "Assertion failed"? > > I've changed it to "Boolean assertion failed". > > -- > Adam Spiers -=- musician & hacker -- ad...@sp... -=- http://tigerpig.org/ > $_=q{*{$Just =bless{},'$another ';"\$Perl \::$hacker"}=sub{print$%[$.++];$,,$ > ;$_[0]},eval join+v45.62,('$z')x6};s/(?<=\$)([a-z\n]+ ?)/push@%,$+;f/egi;eval > > _______________________________________________ > Perlunit-devel mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perlunit-devel > |
From: Adam S. <ad...@sp...> - 2002-03-18 14:28:08
|
Matthias Ferber (mf...@hi...) wrote: > Er, question first, shall we? I wonder if you have a recommendation for > how to approach the problem I'm trying to solve, given PerlUnit's current > architecture. I want to be able to start a TestRunner running against a > dynamically generated suite, where the suite itself is determined by the > command line. > > So, for instance, I imagine the command line looking something like this: > > perl TestRunner.pl MyTestMaker arg1 arg2.... > > where MyTestMaker has a suite() method that uses the arguments to generate > the appropriate test suite. The thing is, there's no way for MyTestMaker > to get access to the arguments, because they're all eaten up by TestRunner > and not passed along. Is there another way (a "right" way) to do this? > > My solution so far is to bypass TestRunner.pl, instead using a script that > generates the test suite, creates a new TestRunner object and starts it > running with the constructed suite. The two things I don't like about > this are that it relies on the TestRunner::do_run() method, which I'm not > sure is a public part of the API, and that I'd rather use TestRunner.pl if > at all possible. Any suggestions? I think you've done the right thing (in the context of the current PerlUnit tree, at least), and that do_run() should be part of the public API. If you wanted to extend the argument syntax of TestRunner.pl to allow parameters to be passed to tests, feel free to post a proposed syntax here. It looks like this part of PerlUnit needs a bit of a spring-clean; for instance, I can't see anything that uses TestRunner::run() or TestRunner::run_and_wait(). I'll add this to the TODO list. > OK, now my own small suggestion. I was confused at first when a Boolean > assertion failed with the message "Expected TRUE, got FALSE." Seems to me > that a Boolean test doesn't have an expected value the way an equality > assertion does; how about changing the message to "Assertion failed"? I've changed it to "Boolean assertion failed". -- Adam Spiers -=- musician & hacker -- ad...@sp... -=- http://tigerpig.org/ $_=q{*{$Just =bless{},'$another ';"\$Perl \::$hacker"}=sub{print$%[$.++];$,,$ ;$_[0]},eval join+v45.62,('$z')x6};s/(?<=\$)([a-z\n]+ ?)/push@%,$+;f/egi;eval |
From: Matthias F. <mf...@hi...> - 2002-03-18 06:03:34
|
Er, question first, shall we? I wonder if you have a recommendation for how to approach the problem I'm trying to solve, given PerlUnit's current architecture. I want to be able to start a TestRunner running against a dynamically generated suite, where the suite itself is determined by the command line. So, for instance, I imagine the command line looking something like this: perl TestRunner.pl MyTestMaker arg1 arg2.... where MyTestMaker has a suite() method that uses the arguments to generate the appropriate test suite. The thing is, there's no way for MyTestMaker to get access to the arguments, because they're all eaten up by TestRunner and not passed along. Is there another way (a "right" way) to do this? My solution so far is to bypass TestRunner.pl, instead using a script that generates the test suite, creates a new TestRunner object and starts it running with the constructed suite. The two things I don't like about this are that it relies on the TestRunner::do_run() method, which I'm not sure is a public part of the API, and that I'd rather use TestRunner.pl if at all possible. Any suggestions? OK, now my own small suggestion. I was confused at first when a Boolean assertion failed with the message "Expected TRUE, got FALSE." Seems to me that a Boolean test doesn't have an expected value the way an equality assertion does; how about changing the message to "Assertion failed"? -- Matthias |
From: Ucretsiz S. L. <say...@tu...> - 2002-03-14 23:10:45
|
<html> <head> <style>BODY { A:link { FONT-SIZE: 10px; COLOR: #FF0000; TEXT-DECORATION: none } A:visited { FONT-SIZE: 10px; COLOR: #FF0000; TEXT-DECORATION: none } A:active { FONT-SIZE: 10px; COLOR: #FF0000; TEXT-DECORATION: none } A:hover { FONT-WEIGHT: bold; COLOR: #FF0000; TEXT-DECORATION: none } TD { FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } </style> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta content="Microsoft FrontPage 3.0" name="GENERATOR"> <title>C:\WINDOWS\Desktop\2freebooks.htm</title> </head> <body> <div align="left"> <table borderColor="#ffffff" height="10" cellSpacing="0" cellPadding="0" width="630" bgColor="#e1e1e1" borderColorLight="#000000" border="1"> <TBODY> <tr> <td><p style="TEXT-TRANSFORM: none" align="center">ÝNTERNETTE SAYISAL LOTO <strong><font color="#FF0000">ÜCRETSÝZ !!</font></strong></td> </tr> </TBODY> </table> </div><div align="left"> <table cellSpacing="0" cellPadding="0" width="630" border="0"> <TBODY> <tr> <td><div align="center"><center><table border="0" cellpadding="2" width="630"> <tr> <td><p align="left"><strong>Sayýsal Loto </strong>oynamak çoðumuz için güzel bir tutku. Her zaman þans yüzümüze gülmese de o heyecaný yaþamak bile güzel. Ayný heyecaný internette yaþamaya ne dersiniz? <font color="#FF0000"><strong>Hem de ÜCRETSIZ! Hem de Amerikada</strong></font>. Devir artýk internet devri. </td> </tr> <tr> <td><p align="left">7 numarayý bilenlere rüya gibi bir ödül var: <font color="#FF0000">1 Milyon $. Ama 6 bilirseniz de 1.000 $ hemen sizin. </font></td> </tr> <tr> <td><p align="left"><a href="http://www.banaozel.org/lotto.htm">SÝTEMÝZE BEKLERÝZ</a> (ücretsiz sayýsal loto)</td> </tr> <tr> <td><p align="left">Bana çýkmaz demeyin. Þansýnýzý <font color="#FF0000">ÜCRETSIZ</font> deneyin. </td> </tr> <tr> <td><p align="left">Þanslý gününüzde olmasanýz bile internette, hem de Amerikanýn güvenilir bir Loto kuruluþunda Sayýsal Loto oynamanýn keyfini yaþayýn. Arkadaþlarýnýza anlatacak hoþ bir anýnýz olsun. </td> </tr> <tr> <td><p align="left"><a href="http://www.banaozel.org/lotto.htm">SÝTEMÝZE BEKLERÝZ</a> (ücretsiz sayýsal loto)</td> </tr> <tr> <td><p align="left">Ýyi eðlenceler, bol þanslar, </td> </tr> <tr> <td><p align="left">BatuGoko Ltd Sti. & Lucky Surf</td> </tr> </table> </center></div><p align="left"><br> </td> </tr> </TBODY> </table> </div><div align="left"> <table borderColor="#ffffff" height="10" cellSpacing="0" cellPadding="0" width="630" bgColor="#e1e1e1" borderColorLight="#000000" border="1"> <TBODY> <tr> <td><p align="center"><font color="#FF0000"><strong>DENEMEYE DEÐER !!</strong></font></td> </tr> </TBODY> </table> </div> <p> </p> </body> </html> |
From: Adam S. <ad...@sp...> - 2002-03-04 14:38:40
|
jonasbn (jo...@wa...) wrote: > The name (_name) field clashes, I guess that name is probably the most used > field in OOP. It should therefore not be used in Test::Unit::TestCase. You're quite right. Thanks for pointing this out. > Changing the internal field to Test::Unit::TestCase::_name_of_test is not a > valid solution though :-/ > > So a proper namespace protection scheme should be implemented. I have tried to > fool around with this (using Tie::Securehash) without any luck, since the > Assert.pm tries to access the _no_backtrace_on_fail at runtime. > > Either the component structure should be change or a different scheme should be chosen. This is one of the nasty things about perl. However, I think the solution suggested by perlobj ($self->{__PACKAGE__ . '_foo'}) is good enough, so I've just committed a general fix which adopts this convention for TestCase objects. Actually, now I've committed it, it occurs to me that $self->{__PACKAGE__}{foo} is an even nicer convention, but I can't be bothered to change it again now :-) |
From: Adam S. <ad...@sp...> - 2002-03-04 14:15:52
|
Oliver Fischer (pl...@sn...) wrote: > Another advice was to try out the newest sources via CVS. This is good advice. The CVS tree is far better than 0.14, and unfortunately, due to lack of time on the developers' parts, 0.14 is more or less unsupported at present. |
From: Adam S. <arc...@ad...> - 2002-03-04 14:02:17
|
Malcolm Box (ma...@br...) wrote: > Ryan King wrote: > > >I'm not a PerlUnit developer, but I had this problem a while > >back. I started using the CVS version and haven't seen it since. > > > >Are you using a recently-updated CVS copy? > > > I was using 0.14 via the Debian unstable package. I've now checked out > the head CVS version, and that refuses to build for me, producing errors > about not finding Error.pm when I do "make test". It will have also given you a Warning: prerequisite Error failed to load: ... error when you typed `perl Makefile.PL'. I think it's trying to tell you something ;-) OK, to be fair the README is out of date w.r.t. prerequisites. I'll fix that now. |
From: Malcolm B. <ma...@br...> - 2002-03-04 13:38:49
|
Ryan King wrote: >I'm not a PerlUnit developer, but I had this problem a while >back. I started using the CVS version and haven't seen it since. > >Are you using a recently-updated CVS copy? > I was using 0.14 via the Debian unstable package. I've now checked out the head CVS version, and that refuses to build for me, producing errors about not finding Error.pm when I do "make test". Does this work for others, or should I be on a branch or something? Malcolm |
From: Oliver F. <pl...@sn...> - 2002-03-03 21:49:04
|
Hi, I had probleme like yours some and I solved it with the classical way: --- package Me; use Test::Unit; @ISA = qw(Test::Unit::TestCase); sub new { my $self = Test::Unit::TestCase->new(@_); my $type = shift; bless $self, $type; $self->{config} = 0; $self->quell_backtrace(); return $self; } sub test_creation { my $self = shift; $self->assert( 1 == 1); } 1; ---- Another advice was to try out the newest sources via CVS. Bye Oliver -- Oliver Fischer - mailto:pl...@sn... |
From: Malcolm B. <ma...@br...> - 2002-03-03 16:45:47
|
Hi, I'm stumped trying to get Test::Unit to work with a very simple example. I get the error "Can't locate object method "new" via package "Test::Unit::Assertion::Boolean"" when I try the following simple module: package Me; use strict; use Test::Unit; use base qw(Test::Unit::TestCase); sub new { my $self = shift()->SUPER::new(@_); $self->{config} = 0; $self->quell_backtrace(); return $self; } sub test_creation { my $self = shift; $self->assert( 1 == 1); } sub set_up { } sub tear_down { } 1; Running this with "perl TestRunner.pl Me" results in massive error backtraces of the form: Can't locate object method "new" via package "Test::Unit::Assertion::Boolean" (perhaps you forgot to load "Test::Unit::Assertion::Boolean"?) at /usr/local/share/perl/5.6.1/Test/Unit/Assert.pm line 18. Level 1: in package 'Test::Unit::TestResult', file '/usr/local/share/perl/5.6.1/Test/Unit/TestResult.pm', at line '99', sub 'Test::Unit::TestCase::run_bare' Level 2: in package 'Test::Unit::TestResult', file '/usr/local/share/perl/5.6.1/Test/Unit/TestResult.pm', at line '109', sub 'Test::Unit::TestResult::__ANON__' Level 3: in package 'Test::Unit::TestResult', file '/usr/local/share/perl/5.6.1/Test/Unit/TestResult.pm', at line '108', sub '(eval)' Level 4: in package 'Test::Unit::TestResult', file '/usr/local/share/perl/5.6.1/Test/Unit/TestResult.pm', at line '99', sub 'Test::Unit::TestResult::run_protected' The weird thing is that I can make Test::Unit work with the simple procedural interface, and it passes AllTests on my installation. But for the life of me I can't see what's wrong with what I'm doing. Any help would be v. gratefully received, Malcolm |
From: jonasbn <jo...@wa...> - 2002-02-21 21:45:36
|
As promised - my example: package Class::EmployeeTest; use strict; use vars qw(@ISA); use base qw(Test::Unit::TestCase); sub new { my $self = shift()->SUPER::new(@_); $self->{'_name'} = ''; $self->{'_department'} = ''; return $self; } sub set_up { my $self = shift; $self->{'_name'} = 'Arne Raket'; $self->{'_department'} = 'dA pErl lAb'; } sub test_name { my $self = shift; my $name = $self->{_name}; $self->assert($name eq 'Arne Raket'); } sub test_department { my $self = shift; my $department = $self->{'_department'}; $self->assert($department eq 'dA pErl lAb'); } 1; The name (_name) field clashes, I guess that name is probably the most used field in OOP. It should therefore not be used in Test::Unit::TestCase. I have made a brief workaround (see the attached patch). Changing the internal field to Test::Unit::TestCase::_name_of_test is not a valid solution though :-/ So a proper namespace protection scheme should be implemented. I have tried to fool around with this (using Tie::Securehash) without any luck, since the Assert.pm tries to access the _no_backtrace_on_fail at runtime. Either the component structure should be change or a different scheme should be chosen. jonasbn -- Eml: jo...@wa... || ICQ: 62401545 WWW: http://jonasbn.hjem.wanadoo.dk/ |
From: Adam S. <ad...@sp...> - 2002-01-08 19:26:55
|
Piers Cawley (pdc...@bo...) wrote: > Adam Spiers <ad...@sp...> writes: [how to fix T::U::Assertion::CodeRef breakage] > > - Change T::U::Assertion::CodeRef::do_assertion to rethrow die() > > exceptions as Test::Unit::Failures. Almost ideal, except for the > > serious flaw that syntax errors in the coderef turn up as > > failures. > > > > - Change the semantics of T::U::Assertion::CodeRefs so that on > > failure they return($failure_msg) rather than die($failure_msg), > > and on success they return zero (a la shell)? That would be very > > easy to implement, although confusing in that it's the exact > > opposite of Perl's notions of true/false. > > > > - Change the semantics of T::U::Assertion::CodeRefs so that on > > failure they throw a Test::Unit::Failure rather than a die(). In > > that case, it would be better to drop the current requirement that > > a coderef has to return true to indicate success, since it would > > no longer be necessary. > > > > The third option is my preference. > > Me too. And I can't for the life of me remember *why* I did it any > different. Done. This means the new way to do coderef assertions is $self->assert(sub { $_[0] == $_[1] or $self->fail("Expected $_[0], got $_[1]"); }, 1, 2); I've also added two new assertions: assert_multi() and assert_raises(). See the CVS docs for more info. |
From: Piers C. <pdc...@bo...> - 2001-12-23 22:07:35
|
Adam Spiers <ad...@sp...> writes: > All I've come up with so far is to change check_failures() to > recognise with Error::Simple and treat it as a Test::Unit::Failure. > But AFAICS T::U::Assertion::CodeRef is the only place which seems to > consider a die() as a Test::Unit::Failure rather than a > Test::Unit::Error, and I don't understand how this inconsistency can > work, since a die from inside a T::U::Assertion::CodeRef will be > indistinguishable from (say) a syntax error inside one. Good point, which I'm afraid I didn't consider when I wrote T::U::A::CodeRef. > I only just figured out the die() -> Error::Simple -> > Test::Unit::Error stuff yesterday, so I may be misunderstanding > things, in which case, please let me know! If I'm right however, > some possible solutions occur to me: Nope, you're right about what's happening there. Sounds like I need to comment that section a little better (or name the methods better). > > - Change T::U::Assertion::CodeRef::do_assertion to rethrow die() > exceptions as Test::Unit::Failures. Almost ideal, except for the > serious flaw that syntax errors in the coderef turn up as > failures. > > - Change the semantics of T::U::Assertion::CodeRefs so that on > failure they return($failure_msg) rather than die($failure_msg), > and on success they return zero (a la shell)? That would be very > easy to implement, although confusing in that it's the exact > opposite of Perl's notions of true/false. > > - Change the semantics of T::U::Assertion::CodeRefs so that on > failure they throw a Test::Unit::Failure rather than a die(). In > that case, it would be better to drop the current requirement that > a coderef has to return true to indicate success, since it would > no longer be necessary. > > The third option is my preference. Me too. And I can't for the life of me remember *why* I did it any different. -- Piers "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen? |
From: Adam S. <ad...@sp...> - 2001-12-21 12:06:12
|
Piers Cawley (pdc...@bo...) wrote: > Adam Spiers <ad...@sp...> writes: > > Adam Spiers (ad...@sp...) wrote: > >> Think I just found some bad brokenness, although it could be just me > >> getting hopelessly confused as my brain gets trampled into mush by a > >> quagmire of exceptions and assertions. I have a testcase: > >> > >> sub test_this_should_fail { > >> my $self = shift; > >> $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'b'); > >> } > >> > >> which does not fail. In fact it behaves identically to > >> > >> sub test_this_should_fail { > >> my $self = shift; > >> $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'a'); > >> } > >> > >> Can anyone reproduce with latest CVS? > > > > Ignore that. The problem is that the die() from within a > > Assertion::CodeRef produces an Error::Simple, which gets turned into a > > Test::Unit::Failure too far up the stack, so if > > test_this_should_fail() is in AssertTest.pm, it won't work with > > check_failures(). Argh. What to do? > > Hmm... I'm thinking. All I've come up with so far is to change check_failures() to recognise with Error::Simple and treat it as a Test::Unit::Failure. But AFAICS T::U::Assertion::CodeRef is the only place which seems to consider a die() as a Test::Unit::Failure rather than a Test::Unit::Error, and I don't understand how this inconsistency can work, since a die from inside a T::U::Assertion::CodeRef will be indistinguishable from (say) a syntax error inside one. I only just figured out the die() -> Error::Simple -> Test::Unit::Error stuff yesterday, so I may be misunderstanding things, in which case, please let me know! If I'm right however, some possible solutions occur to me: - Change T::U::Assertion::CodeRef::do_assertion to rethrow die() exceptions as Test::Unit::Failures. Almost ideal, except for the serious flaw that syntax errors in the coderef turn up as failures. - Change the semantics of T::U::Assertion::CodeRefs so that on failure they return($failure_msg) rather than die($failure_msg), and on success they return zero (a la shell)? That would be very easy to implement, although confusing in that it's the exact opposite of Perl's notions of true/false. - Change the semantics of T::U::Assertion::CodeRefs so that on failure they throw a Test::Unit::Failure rather than a die(). In that case, it would be better to drop the current requirement that a coderef has to return true to indicate success, since it would no longer be necessary. The third option is my preference. |
From: Piers C. <pdc...@bo...> - 2001-12-21 01:13:07
|
Adam Spiers <ad...@sp...> writes: > Adam Spiers (ad...@sp...) wrote: >> Think I just found some bad brokenness, although it could be just me >> getting hopelessly confused as my brain gets trampled into mush by a >> quagmire of exceptions and assertions. I have a testcase: >> >> sub test_this_should_fail { >> my $self = shift; >> $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'b'); >> } >> >> which does not fail. In fact it behaves identically to >> >> sub test_this_should_fail { >> my $self = shift; >> $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'a'); >> } >> >> Can anyone reproduce with latest CVS? > > Ignore that. The problem is that the die() from within a > Assertion::CodeRef produces an Error::Simple, which gets turned into a > Test::Unit::Failure too far up the stack, so if > test_this_should_fail() is in AssertTest.pm, it won't work with > check_failures(). Argh. What to do? Hmm... I'm thinking. -- Piers "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen? |
From: Adam S. <ad...@sp...> - 2001-12-20 20:54:39
|
Adam Spiers (ad...@sp...) wrote: > Think I just found some bad brokenness, although it could be just me > getting hopelessly confused as my brain gets trampled into mush by a > quagmire of exceptions and assertions. I have a testcase: > > sub test_this_should_fail { > my $self = shift; > $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'b'); > } > > which does not fail. In fact it behaves identically to > > sub test_this_should_fail { > my $self = shift; > $self->assert(sub { $_[0] eq $_[1] or die "$_[0] ne $_[1]" }, 'a', 'a'); > } > > Can anyone reproduce with latest CVS? Ignore that. The problem is that the die() from within a Assertion::CodeRef produces an Error::Simple, which gets turned into a Test::Unit::Failure too far up the stack, so if test_this_should_fail() is in AssertTest.pm, it won't work with check_failures(). Argh. What to do? |