diff options
Diffstat (limited to 'tests/utils/testsuite')
-rw-r--r-- | tests/utils/testsuite/Makefile | 87 | ||||
-rw-r--r-- | tests/utils/testsuite/Makefile.fpc | 2 | ||||
-rw-r--r-- | tests/utils/testsuite/testsuite.lpi | 348 | ||||
-rw-r--r-- | tests/utils/testsuite/testsuite.pp | 2 | ||||
-rw-r--r-- | tests/utils/testsuite/utests.pp | 198 |
5 files changed, 419 insertions, 218 deletions
diff --git a/tests/utils/testsuite/Makefile b/tests/utils/testsuite/Makefile index fb3a1c53a4..050af5b6a3 100644 --- a/tests/utils/testsuite/Makefile +++ b/tests/utils/testsuite/Makefile @@ -1,9 +1,9 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-02-06 rev 26692] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-12-07 rev 29213] # default: all -MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-android jvm-java jvm-android i8086-msdos -BSDs = freebsd netbsd openbsd darwin +MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos +BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos OSNeedsComspecToRunBatch = go32v2 watcom @@ -184,6 +184,12 @@ $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t endif override FPCOPT+=-Cp$(SUBARCH) endif +ifeq ($(FULL_TARGET),mipsel-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) SOURCESUFFIX=$(OS_SOURCE) @@ -320,7 +326,7 @@ FPCFPMAKE=$(FPC) endif endif override PACKAGE_NAME=testsuite -override PACKAGE_VERSION=2.7.1 +override PACKAGE_VERSION=3.1.1 ifeq ($(FULL_TARGET),i386-linux) override TARGET_PROGRAMS+=testsuite endif @@ -390,6 +396,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override TARGET_PROGRAMS+=testsuite endif +ifeq ($(FULL_TARGET),i386-aros) +override TARGET_PROGRAMS+=testsuite +endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_PROGRAMS+=testsuite endif @@ -477,6 +486,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override TARGET_PROGRAMS+=testsuite endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override TARGET_PROGRAMS+=testsuite +endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_PROGRAMS+=testsuite endif @@ -531,6 +543,9 @@ endif ifeq ($(FULL_TARGET),mipsel-linux) override TARGET_PROGRAMS+=testsuite endif +ifeq ($(FULL_TARGET),mipsel-embedded) +override TARGET_PROGRAMS+=testsuite +endif ifeq ($(FULL_TARGET),mipsel-android) override TARGET_PROGRAMS+=testsuite endif @@ -612,6 +627,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override COMPILER_UNITDIR+=.. endif +ifeq ($(FULL_TARGET),i386-aros) +override COMPILER_UNITDIR+=.. +endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_UNITDIR+=.. endif @@ -699,6 +717,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override COMPILER_UNITDIR+=.. endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override COMPILER_UNITDIR+=.. +endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_UNITDIR+=.. endif @@ -753,6 +774,9 @@ endif ifeq ($(FULL_TARGET),mipsel-linux) override COMPILER_UNITDIR+=.. endif +ifeq ($(FULL_TARGET),mipsel-embedded) +override COMPILER_UNITDIR+=.. +endif ifeq ($(FULL_TARGET),mipsel-android) override COMPILER_UNITDIR+=.. endif @@ -1038,6 +1062,12 @@ EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif +ifeq ($(OS_TARGET),dragonfly) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=df +endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= @@ -1083,6 +1113,11 @@ EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=amg endif +ifeq ($(OS_TARGET),aros) +EXEEXT= +SHAREDLIBEXT=.library +SHORTSUFFIX=aros +endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library @@ -1665,6 +1700,16 @@ REQUIRE_PACKAGES_FPMKUNIT=1 REQUIRE_PACKAGES_FCL-BASE=1 REQUIRE_PACKAGES_FCL-DB=1 endif +ifeq ($(FULL_TARGET),i386-aros) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_FCL-BASE=1 +REQUIRE_PACKAGES_FCL-DB=1 +endif ifeq ($(FULL_TARGET),m68k-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1955,6 +2000,16 @@ REQUIRE_PACKAGES_FPMKUNIT=1 REQUIRE_PACKAGES_FCL-BASE=1 REQUIRE_PACKAGES_FCL-DB=1 endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_FCL-BASE=1 +REQUIRE_PACKAGES_FCL-DB=1 +endif ifeq ($(FULL_TARGET),arm-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2135,6 +2190,16 @@ REQUIRE_PACKAGES_FPMKUNIT=1 REQUIRE_PACKAGES_FCL-BASE=1 REQUIRE_PACKAGES_FCL-DB=1 endif +ifeq ($(FULL_TARGET),mipsel-embedded) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_FCL-BASE=1 +REQUIRE_PACKAGES_FCL-DB=1 +endif ifeq ($(FULL_TARGET),mipsel-android) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2592,7 +2657,7 @@ endif ifdef CREATESHARED override FPCOPT+=-Cg endif -ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),) +ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) ifeq ($(CPU_TARGET),x86_64) override FPCOPT+=-Cg endif @@ -2628,17 +2693,23 @@ ifdef ACROSSCOMPILE override FPCOPT+=$(CROSSOPT) endif override COMPILER:=$(strip $(FPC) $(FPCOPT)) -ifeq (,$(findstring -s ,$(COMPILER))) +ifneq (,$(findstring -sh ,$(COMPILER))) +UseEXECPPAS=1 +endif +ifneq (,$(findstring -s ,$(COMPILER))) +ifeq ($(FULL_SOURCE),$(FULL_TARGET)) +UseEXECPPAS=1 +endif +endif +ifneq ($(UseEXECPPAS),1) EXECPPAS= else -ifeq ($(FULL_SOURCE),$(FULL_TARGET)) ifdef RUNBATCH EXECPPAS:=@$(RUNBATCH) $(PPAS) else EXECPPAS:=@$(PPAS) endif endif -endif .PHONY: fpc_exes ifndef CROSSINSTALL ifneq ($(TARGET_PROGRAMS),) diff --git a/tests/utils/testsuite/Makefile.fpc b/tests/utils/testsuite/Makefile.fpc index d0d97cae28..010fcf89bd 100644 --- a/tests/utils/testsuite/Makefile.fpc +++ b/tests/utils/testsuite/Makefile.fpc @@ -4,7 +4,7 @@ [package] name=testsuite -version=2.7.1 +version=3.1.1 [require] packages=fcl-base fcl-db diff --git a/tests/utils/testsuite/testsuite.lpi b/tests/utils/testsuite/testsuite.lpi index bd5b4c9380..ee4e1d55a5 100644 --- a/tests/utils/testsuite/testsuite.lpi +++ b/tests/utils/testsuite/testsuite.lpi @@ -1,159 +1,279 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <CONFIG> <ProjectOptions> - <Version Value="3"/> + <Version Value="9"/> <General> - <ProjectType Value="Program"/> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + <LRSInOutputDirectory Value="False"/> + </Flags> <MainUnit Value="0"/> - <ActiveEditorIndexAtStart Value="1"/> - <IconPath Value="./"/> - <TargetFileExt Value=""/> <Title Value="testsuite"/> + <ActiveWindowIndexAtStart Value="0"/> </General> - <JumpHistory Count="12" HistoryIndex="11"> - <Position1> - <Filename Value="dbwhtml.pp"/> - <Caret Line="85" Column="3" TopLine="82"/> - </Position1> - <Position2> - <Filename Value="dbwhtml.pp"/> - <Caret Line="204" Column="5" TopLine="164"/> - </Position2> - <Position3> - <Filename Value="dbwhtml.pp"/> - <Caret Line="205" Column="5" TopLine="165"/> - </Position3> - <Position4> - <Filename Value="dbwhtml.pp"/> - <Caret Line="203" Column="25" TopLine="168"/> - </Position4> - <Position5> - <Filename Value="dbwhtml.pp"/> - <Caret Line="212" Column="15" TopLine="195"/> - </Position5> - <Position6> - <Filename Value="dbwhtml.pp"/> - <Caret Line="70" Column="67" TopLine="52"/> - </Position6> - <Position7> - <Filename Value="utests.pp"/> - <Caret Line="594" Column="5" TopLine="554"/> - </Position7> - <Position8> - <Filename Value="utests.pp"/> - <Caret Line="66" Column="1" TopLine="34"/> - </Position8> - <Position9> - <Filename Value="dbwhtml.pp"/> - <Caret Line="396" Column="4" TopLine="361"/> - </Position9> - <Position10> - <Filename Value="utests.pp"/> - <Caret Line="66" Column="14" TopLine="35"/> - </Position10> - <Position11> - <Filename Value="utests.pp"/> - <Caret Line="600" Column="56" TopLine="568"/> - </Position11> - <Position12> - <Filename Value="utests.pp"/> - <Caret Line="31" Column="77" TopLine="14"/> - </Position12> - </JumpHistory> - <Units Count="8"> + <BuildModes Count="1"> + <Item1 Name="default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <IgnoreBinaries Value="False"/> + <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> + <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> + </local> + </RunParams> + <Units Count="12"> <Unit0> - <CursorPos X="19" Y="5"/> - <EditorIndex Value="0"/> <Filename Value="testsuite.pp"/> <IsPartOfProject Value="True"/> - <Loaded Value="True"/> - <TopLine Value="1"/> <UnitName Value="testsuite"/> - <UsageCount Value="56"/> + <EditorIndex Value="0"/> + <WindowIndex Value="1"/> + <TopLine Value="1"/> + <CursorPos X="29" Y="5"/> + <UsageCount Value="72"/> + <Loaded Value="True"/> + <LoadedDesigner Value="True"/> </Unit0> <Unit1> - <CursorPos X="23" Y="595"/> - <EditorIndex Value="1"/> <Filename Value="utests.pp"/> <IsPartOfProject Value="True"/> - <Loaded Value="True"/> - <TopLine Value="568"/> <UnitName Value="utests"/> - <UsageCount Value="56"/> + <IsVisibleTab Value="True"/> + <EditorIndex Value="1"/> + <WindowIndex Value="1"/> + <TopLine Value="1003"/> + <CursorPos X="59" Y="919"/> + <UsageCount Value="72"/> + <Loaded Value="True"/> </Unit1> <Unit2> - <CursorPos X="6" Y="136"/> - <EditorIndex Value="4"/> - <Filename Value="/home/michael/fixbranch/rtl/linux/syslinux.pp"/> - <Loaded Value="True"/> - <TopLine Value="94"/> + <Filename Value="../../../../../fixbranch/rtl/linux/syslinux.pp"/> <UnitName Value="SysLinux"/> - <UsageCount Value="28"/> + <WindowIndex Value="1"/> + <TopLine Value="94"/> + <CursorPos X="6" Y="136"/> + <UsageCount Value="26"/> + <LoadedDesigner Value="True"/> </Unit2> <Unit3> + <Filename Value="../../../../../test.sql"/> + <TopLine Value="1"/> <CursorPos X="1" Y="1"/> - <Filename Value="/home/michael/test.sql"/> <SyntaxHighlighter Value="None"/> - <TopLine Value="1"/> - <UsageCount Value="8"/> + <UsageCount Value="6"/> </Unit3> <Unit4> - <CursorPos X="27" Y="23"/> - <EditorIndex Value="3"/> - <Filename Value="/home/michael/fixbranch/rtl/unix/linux.pp"/> - <Loaded Value="True"/> - <TopLine Value="1"/> + <Filename Value="../../../../../fixbranch/rtl/unix/linux.pp"/> <UnitName Value="Linux"/> - <UsageCount Value="25"/> + <WindowIndex Value="1"/> + <TopLine Value="1"/> + <CursorPos X="27" Y="23"/> + <UsageCount Value="23"/> + <LoadedDesigner Value="True"/> </Unit4> <Unit5> - <CursorPos X="56" Y="251"/> - <Filename Value="/home/michael/projects/lazarus/components/editbutton/editbtn.pas"/> - <TopLine Value="248"/> + <Filename Value="../../../../../projects/lazarus/components/editbutton/editbtn.pas"/> <UnitName Value="EditBtn"/> - <UsageCount Value="8"/> + <TopLine Value="248"/> + <CursorPos X="56" Y="251"/> + <UsageCount Value="6"/> </Unit5> <Unit6> - <CursorPos X="31" Y="8"/> - <Filename Value="/home/michael/projects/lazarus/components/editbutton/demo/frmmain.pp"/> + <Filename Value="../../../../../projects/lazarus/components/editbutton/demo/frmmain.pp"/> <ComponentName Value="Form1"/> - <ResourceFilename Value="/home/michael/projects/lazarus/components/editbutton/demo/frmmain.lrs"/> - <TopLine Value="1"/> <UnitName Value="frmmain"/> - <UsageCount Value="20"/> + <TopLine Value="1"/> + <CursorPos X="31" Y="8"/> + <UsageCount Value="18"/> </Unit6> <Unit7> - <CursorPos X="27" Y="393"/> - <EditorIndex Value="2"/> <Filename Value="dbwhtml.pp"/> - <Loaded Value="True"/> - <TopLine Value="384"/> <UnitName Value="dbwhtml"/> - <UsageCount Value="25"/> + <WindowIndex Value="1"/> + <TopLine Value="384"/> + <CursorPos X="27" Y="393"/> + <UsageCount Value="23"/> + <LoadedDesigner Value="True"/> </Unit7> + <Unit8> + <Filename Value="../tresults.pp"/> + <IsPartOfProject Value="True"/> + <UnitName Value="tresults"/> + <UsageCount Value="36"/> + </Unit8> + <Unit9> + <Filename Value="../../../../build/tag_2_6_4/fpcsrc/packages/fcl-base/src/wformat.pp"/> + <UnitName Value="wformat"/> + <EditorIndex Value="4"/> + <WindowIndex Value="1"/> + <TopLine Value="17"/> + <CursorPos X="15" Y="35"/> + <UsageCount Value="18"/> + <Loaded Value="True"/> + </Unit9> + <Unit10> + <Filename Value="../../../../build/tag_2_6_4/fpcsrc/packages/fcl-web/src/base/webutil.pp"/> + <UnitName Value="webutil"/> + <EditorIndex Value="3"/> + <WindowIndex Value="1"/> + <TopLine Value="1"/> + <CursorPos X="1" Y="1"/> + <UsageCount Value="17"/> + <Loaded Value="True"/> + </Unit10> + <Unit11> + <Filename Value="../../../../build/tag_2_6_4/fpcsrc/packages/fcl-web/src/base/cgiapp.pp"/> + <UnitName Value="cgiapp"/> + <EditorIndex Value="2"/> + <WindowIndex Value="1"/> + <TopLine Value="34"/> + <CursorPos X="1" Y="40"/> + <UsageCount Value="17"/> + <Loaded Value="True"/> + </Unit11> </Units> - <PublishOptions> - <Version Value="2"/> - <IgnoreBinaries Value="False"/> - <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> - </PublishOptions> - <RunParams> - <local> - <FormatVersion Value="1"/> - <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> - </local> - </RunParams> - <RequiredPackages Count="1"> - <Item1> - <PackageName Value="editbutton"/> - <MinVersion Valid="True"/> - </Item1> - </RequiredPackages> + <JumpHistory Count="30" HistoryIndex="29"> + <Position1> + <Filename Value="utests.pp"/> + <Caret Line="574" Column="45" TopLine="549"/> + </Position1> + <Position2> + <Filename Value="utests.pp"/> + <Caret Line="946" Column="27" TopLine="930"/> + </Position2> + <Position3> + <Filename Value="utests.pp"/> + <Caret Line="1103" Column="40" TopLine="1077"/> + </Position3> + <Position4> + <Filename Value="utests.pp"/> + <Caret Line="1467" Column="37" TopLine="1442"/> + </Position4> + <Position5> + <Filename Value="utests.pp"/> + <Caret Line="1468" Column="71" TopLine="1443"/> + </Position5> + <Position6> + <Filename Value="utests.pp"/> + <Caret Line="1469" Column="48" TopLine="1444"/> + </Position6> + <Position7> + <Filename Value="utests.pp"/> + <Caret Line="2531" Column="53" TopLine="2531"/> + </Position7> + <Position8> + <Filename Value="utests.pp"/> + <Caret Line="2554" Column="17" TopLine="2525"/> + </Position8> + <Position9> + <Filename Value="utests.pp"/> + <Caret Line="2533" Column="17" TopLine="2519"/> + </Position9> + <Position10> + <Filename Value="utests.pp"/> + <Caret Line="2544" Column="18" TopLine="2540"/> + </Position10> + <Position11> + <Filename Value="utests.pp"/> + <Caret Line="121" Column="1" TopLine="121"/> + </Position11> + <Position12> + <Filename Value="utests.pp"/> + <Caret Line="326" Column="24" TopLine="301"/> + </Position12> + <Position13> + <Filename Value="utests.pp"/> + <Caret Line="67" Column="1" TopLine="61"/> + </Position13> + <Position14> + <Filename Value="utests.pp"/> + <Caret Line="846" Column="3" TopLine="842"/> + </Position14> + <Position15> + <Filename Value="utests.pp"/> + <Caret Line="1" Column="1" TopLine="1"/> + </Position15> + <Position16> + <Filename Value="utests.pp"/> + <Caret Line="2555" Column="11" TopLine="2530"/> + </Position16> + <Position17> + <Filename Value="utests.pp"/> + <Caret Line="2554" Column="10" TopLine="2530"/> + </Position17> + <Position18> + <Filename Value="utests.pp"/> + <Caret Line="1" Column="1" TopLine="1"/> + </Position18> + <Position19> + <Filename Value="utests.pp"/> + <Caret Line="420" Column="21" TopLine="412"/> + </Position19> + <Position20> + <Filename Value="utests.pp"/> + <Caret Line="1" Column="1" TopLine="1"/> + </Position20> + <Position21> + <Filename Value="utests.pp"/> + <Caret Line="2555" Column="41" TopLine="2532"/> + </Position21> + <Position22> + <Filename Value="utests.pp"/> + <Caret Line="2493" Column="3" TopLine="2478"/> + </Position22> + <Position23> + <Filename Value="utests.pp"/> + <Caret Line="2" Column="1" TopLine="1"/> + </Position23> + <Position24> + <Filename Value="utests.pp"/> + <Caret Line="2534" Column="11" TopLine="2527"/> + </Position24> + <Position25> + <Filename Value="utests.pp"/> + <Caret Line="1" Column="1" TopLine="1"/> + </Position25> + <Position26> + <Filename Value="utests.pp"/> + <Caret Line="304" Column="21" TopLine="300"/> + </Position26> + <Position27> + <Filename Value="utests.pp"/> + <Caret Line="676" Column="1" TopLine="661"/> + </Position27> + <Position28> + <Filename Value="utests.pp"/> + <Caret Line="912" Column="13" TopLine="904"/> + </Position28> + <Position29> + <Filename Value="utests.pp"/> + <Caret Line="1" Column="1" TopLine="1"/> + </Position29> + <Position30> + <Filename Value="utests.pp"/> + <Caret Line="919" Column="16" TopLine="889"/> + </Position30> + </JumpHistory> </ProjectOptions> <CompilerOptions> + <Version Value="11"/> + <SearchPaths> + <OtherUnitFiles Value=".."/> + </SearchPaths> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> <Other> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> + <EditorMacros Count="0"/> </CONFIG> diff --git a/tests/utils/testsuite/testsuite.pp b/tests/utils/testsuite/testsuite.pp index a926345c91..7d077b5427 100644 --- a/tests/utils/testsuite/testsuite.pp +++ b/tests/utils/testsuite/testsuite.pp @@ -2,7 +2,7 @@ {$h+} program testsuite; -uses utests; +uses utests, tresults; Var App : TTestSuite; diff --git a/tests/utils/testsuite/utests.pp b/tests/utils/testsuite/utests.pp index 8190d171be..8b428771f4 100644 --- a/tests/utils/testsuite/utests.pp +++ b/tests/utils/testsuite/utests.pp @@ -1,13 +1,16 @@ {$mode objfpc} {$h+} + unit utests; interface uses cgiapp, - sysutils,mysql55conn,sqldb,whtml,dbwhtml,db, - tresults, + sysutils, + pqconnection, + sqldb,whtml,dbwhtml,db, + tresults,webutil, Classes,ftFont,fpimage,fpimgcanv,fpWritePng,fpcanvas; const @@ -17,9 +20,14 @@ const ViewRevURL='http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision='; TestsSubDir='/tests/'; DataBaseSubDir='/packages/fcl-db/tests/'; + var TestsuiteCGIURL : string; + Type + + { TTestSuite } + TTestSuite = Class(TCgiApplication) Private FHTMLWriter : THtmlWriter; @@ -56,6 +64,7 @@ Type FLimit : Integer; FTestLastDays : Integer; FNeedEnd : boolean; + procedure DumpTestInfo(Q: TSQLQuery); Procedure GetOverviewRowAttr(Sender : TObject; Var BGColor : String; Var Align : THTMLAlign; Var VAlign : THTMLValign; Var CustomAttr : String) ; @@ -191,6 +200,8 @@ type ver_2_6_1, ver_2_6_2, ver_2_6_3, + ver_2_6_4, + ver_2_6_5, ver_2_7_1); const @@ -227,6 +238,8 @@ const '2.6.1', '2.6.2', '2.6.3', + '2.6.4', + '2.6.5', '2.7.1' ); @@ -259,6 +272,8 @@ const 'tags/release_2_6_0', 'tags/release_2_6_2', 'tags/release_2_6_2', + 'tags/release_2_6_4', + 'tags/release_2_6_4', 'branches/fixes_2_6', 'trunk' ); @@ -366,7 +381,8 @@ begin FVersion:=RequestVariables['version']; if Length(FVersion) = 0 then FVersion:=RequestVariables['TESTVERSION']; - + TestsuiteCGIURL:=Self.ScriptName; + SDetailsURL := TestsuiteCGIURL + '?action=1&run1id=%s'; FOS:=RequestVariables['os']; if Length(FOS) = 0 then FOS:=RequestVariables['TESTOS']; @@ -434,7 +450,7 @@ Function TTestSuite.ConnectToDB : Boolean; begin Result:=False; - FDB:=TMySQl55Connection.Create(Self); + FDB:=TPQConnection.Create(Self); FDB.HostName:=DefHost; FDB.DatabaseName:=DefDatabase; FDB.UserName:=DefDBUser; @@ -548,6 +564,9 @@ begin end; Procedure TTestSuite.EmitTitle(ATitle : String); + +Var + S : TStrings; begin AddResponseLn('<HTML>'); AddResponseLn('<TITLE>'+ATitle+'</TITLE>'); @@ -575,7 +594,6 @@ begin DumpLn('View Test suite results'); HeaderEnd(1); DumpLn('Please specify search criteria:'); - ParagraphStart; FormStart(TestsuiteCGIURL,''); if FDebug then EmitHiddenVar('DEBUGCGI', '1'); @@ -692,7 +710,6 @@ begin DumpLn('View Test suite results'); HeaderEnd(1); DumpLn('Please specify search criteria:'); - ParagraphStart; FormStart(TestsuiteCGIURL,''); if FDebug then EmitHiddenVar('DEBUGCGI', '1'); @@ -892,7 +909,7 @@ end; Procedure TTestSuite.ShowRunOverview; Const SOverview = 'SELECT TU_ID as ID,TU_DATE as Date,TC_NAME as CPU,TO_NAME as OS,'+ - 'TV_VERSION as Version,count(*) as Count,'+ + 'TV_VERSION as Version,(select count(*) from testresults where (TR_TESTRUN_FK=TU_ID)) as Count,'+ 'TU_SVNCOMPILERREVISION as SvnCompRev,'+ 'TU_SVNRTLREVISION as SvnRTLRev,'+ 'TU_SVNPACKAGESREVISION as SvnPackRev,TU_SVNTESTSREVISION as SvnTestsRev,'+ @@ -901,11 +918,13 @@ Const '(TU_SUCCESSFULLYFAILED+TU_SUCCESFULLYCOMPILED+TU_SUCCESSFULLYRUN+'+ 'TU_FAILEDTOCOMPILE+TU_FAILEDTORUN+TU_FAILEDTOFAIL) as Total,'+ 'TU_SUBMITTER as Submitter, TU_MACHINE as Machine, TU_COMMENT as Comment %s '+ - 'FROM TESTRUN left join TESTCPU on (TC_ID=TU_CPU_FK) left join TESTOS on (TO_ID=TU_OS_FK) '+ - 'left join TESTVERSION on (TV_ID=TU_VERSION_FK) left join TESTCATEGORY on (TCAT_ID=TU_CATEGORY_FK) '+ - 'left join TESTRESULTS on (TR_TESTRUN_FK=TU_ID) '+ + 'FROM '+ + ' TESTRUN '+ + ' left join TESTCPU on (TC_ID=TU_CPU_FK) '+ + ' left join TESTOS on (TO_ID=TU_OS_FK) '+ + ' left join TESTVERSION on (TV_ID=TU_VERSION_FK) '+ + ' left join TESTCATEGORY on (TCAT_ID=TU_CATEGORY_FK) '+ '%s'+ - 'GROUP BY TU_ID '+ 'ORDER BY TU_ID DESC LIMIT %d'; @@ -924,7 +943,7 @@ begin if (FOS<>'') and (GetOSName(FOS)<>'All') then S:=S+' AND (TU_OS_FK='+FOS+')'; If (Round(FDate)<>0) then - S:=S+' AND (TU_DATE LIKE '''+FormatDateTime('YYYY-MM-DD',FDate)+'%'')'; + S:=S+' AND (to_char(TU_DATE, ''YYYY-MM-DD'') LIKE '''+FormatDateTime('YYYY-MM-DD',FDate)+'%'')'; If FSubmitter<>'' then S:=S+' AND (TU_SUBMITTER='''+FSubmitter+''')'; If FMachine<>'' then @@ -933,11 +952,9 @@ begin S:=S+' AND (TU_COMMENT LIKE '''+Fcomment+''')'; If FCond<>'' then S:=S+' AND ('+FCond+')'; - If FOnlyFailed then - S:=S+' AND (TR_OK="-")'; If GetCategoryName(FCategory)<>'DB' then - SC:=', CONCAT(TU_SVNCOMPILERREVISION,"/",TU_SVNRTLREVISION,"/", '+ - 'TU_SVNPACKAGESREVISION,"/",TU_SVNTESTSREVISION) as svnrev' + SC:=', CONCAT(TU_SVNCOMPILERREVISION,''/'',TU_SVNRTLREVISION,''/'', '+ + 'TU_SVNPACKAGESREVISION,''/'',TU_SVNTESTSREVISION) as svnrev' else SC:=''; If (FCategory='') or (GetCategoryName(FCategory)='All') then @@ -1088,8 +1105,8 @@ begin If Result then begin If GetCategoryName(FCategory)<>'DB' then - SC:=', CONCAT(TU_SVNCOMPILERREVISION,"/",TU_SVNRTLREVISION,"/", '+ - 'TU_SVNPACKAGESREVISION,"/",TU_SVNTESTSREVISION) as svnrev' + SC:=', CONCAT(TU_SVNCOMPILERREVISION,''/'',TU_SVNRTLREVISION,''/'', '+ + 'TU_SVNPACKAGESREVISION,''/'',TU_SVNTESTSREVISION) as svnrev' else SC:=''; If GetCategoryName(FCategory)='All' then @@ -1198,7 +1215,8 @@ begin DumpLn('SVN Revisions:'); CellNext; SC:=Q1.FieldByName('svnrev').AsString; - FormatSVNData(SC); + if (SC<>'') then + FormatSVNData(SC); LDumpLn(SC); CellNext; if Q2 <> nil then @@ -1397,9 +1415,9 @@ begin +' WHERE (TR_TEST_FK=T_ID) AND (TR_TESTRUN_FK='+FRunID+') '; If FOnlyFailed then - S:=S+' AND (TR_OK="-")'; + S:=S+' AND (not TR_OK)'; If FNoSkipped then - S:=S+' AND (TR_SKIP="-")'; + S:=S+' AND (not TR_SKIP)'; S:=S+' ORDER BY TR_ID '; Qry:=S; If FDebug then @@ -1466,6 +1484,45 @@ begin end; end; +Procedure TTestSuite.DumpTestInfo(Q : TSQLQuery); + +Var + I : Integer; + field_displayed : boolean; + FieldValue,FieldName : String; + +begin + With FHTMLWriter do + For i:=0 to Q.FieldCount-1 do + begin + FieldValue:=Q.Fields[i].AsString; + FieldName:=Q.Fields[i].DisplayName; + field_displayed:=false; + if (Not Q.fields[i].IsNull) and (FieldName<>'t_name') and (FieldName<>'t_source') then + begin + if (Q.Fields[i].Datatype=ftBoolean) then + begin + if Q.Fields[i].AsBoolean then + begin + DumpLn('Flag '); + DumpLn(FieldName); + DumpLn(' set'); + field_displayed:=true; + end; + end + else if FieldValue<>'' then + begin + DumpLn(FieldName); + DumpLn(' '); + DumpLn(FieldValue); + field_displayed:=true; + end; + if field_displayed then + DumpLn('<BR>'); + end; + end; +end; + Procedure TTestSuite.ShowOneTest; Var @@ -1484,8 +1541,7 @@ begin EmitContentType; EmitDocType; if FTestFileID='' then - FTestFileID:=GetSingleton('SELECT T_ID FROM TESTS WHERE T_NAME LIKE ''%'+ - FTestFileName+'%'''); + FTestFileID:=GetSingleton('SELECT T_ID FROM TESTS WHERE T_NAME LIKE ''%'+FTestFileName+'%'''); if FTestFileID<>'' then FTestFileName:=GetTestFileName(FTestFileID); EmitTitle(Title+' : File '+FTestFileName+' Results'); @@ -1527,26 +1583,7 @@ begin Try Open; Try - For i:=0 to FieldCount-1 do - begin - FieldValue:=Fields[i].AsString; - FieldName:=Fields[i].DisplayName; - - if (FieldValue<>'') and (FieldValue<>'-') and - (FieldName<>'T_NAME') and (FieldName<>'T_SOURCE') then - begin - if (FieldValue='+') then - DumpLn('Flag '); - DumpLn(FieldName); - DumpLn(' '); - if FieldValue='+' then - DumpLn(' set') - else - DumpLn(FieldValue); - DumpLn('<BR>'); - end; - end; - + DumpTestInfo(Q); Finally Close; end; @@ -1617,7 +1654,7 @@ begin Free; end; ParaGraphStart; - DumpLn(Format('<p>Record count: %d </p>',[Q.RecordCount])); + DumpLn(Format('Record count: %d',[Q.RecordCount])); ParaGraphEnd; Finally Close; @@ -1746,8 +1783,10 @@ end; Procedure TTestSuite.ShowHistory; + Const MaxCombo = 50; + Type StatusLongintArray = Array [TTestStatus] of longint; StatusDateTimeArray = Array [TTestStatus] of TDateTime; @@ -1755,6 +1794,7 @@ Type AStatusDTA = Array[1..MaxCombo] of StatusDateTimeArray; PStatusLA = ^AStatusLA; PStatusDTA = ^AStatusDTA; + Var S,SS,FL,cpu,version,os : String; date : TDateTime; @@ -1782,8 +1822,9 @@ Var version_first_date_id, version_last_date_id : PStatusLA; FieldName,FieldValue, LLog,Source : String; - Res : Boolean; + B,Res : Boolean; ver : known_versions; + begin Res:=False; os_count:=nil; @@ -1855,25 +1896,7 @@ begin Try Open; Try - For i:=0 to FieldCount-1 do - begin - FieldValue:=Fields[i].AsString; - FieldName:=Fields[i].DisplayName; - if (FieldValue<>'') and (FieldValue<>'-') and - (FieldName<>'T_NAME') and (FieldName<>'T_SOURCE') then - begin - if (FieldValue='+') then - DumpLn('Flag '); - DumpLn(FieldName); - DumpLn(' '); - if FieldValue='+' then - DumpLn(' set') - else - DumpLn(FieldValue); - DumpLn('<BR>'); - end; - end; - + DumpTestInfo(Q); Finally Close; end; @@ -2048,14 +2071,11 @@ begin begin Q.RecNo:=i; inc(total_count); - S:=Fields[ok_ind].AsString; - - if S='+' then + if Q.Fields[ok_ind].AsBoolean then inc(OK_count) else inc(not_OK_count); - S:=Fields[skip_ind].AsString; - if S='+' then + if Fields[skip_ind].AsBoolean then inc(skip_count) else inc(not_skip_count); @@ -2529,35 +2549,26 @@ begin HeaderEnd(2); ParaGraphStart; Q:=CreateDataset(''); - Q.SQL.Text:='CREATE TEMPORARY TABLE tr1 like TESTRESULTS;'; - Q.ExecSQL; - Q.SQL.Text:='CREATE TEMPORARY TABLE tr2 like TESTRESULTS;'; - Q.ExecSQL; - Q.SQL.Text:='INSERT INTO tr1 SELECT * FROM '+TESTRESULTSTableName(FRunId)+ - - ' WHERE TR_TESTRUN_FK='+FRunID+';'; - Q.ExecSQL; - Q.SQL.Text:='INSERT INTO tr2 SELECT * FROM '+TESTRESULTSTableName(FCompareRunId)+ - ' WHERE TR_TESTRUN_FK='+FCompareRunID+';'; - Q.ExecSQL; - S:='SELECT T_ID as Id,T_NAME as Filename,tr1.TR_SKIP as Run1_Skipped,' + S:='with tr1 as (SELECT * FROM '+TESTRESULTSTableName(FRunId)+ ' WHERE TR_TESTRUN_FK='+FRunID+'), '+ + ' tr2 as (SELECT * FROM '+TESTRESULTSTableName(FCompareRunId)+' WHERE TR_TESTRUN_FK='+FCompareRunID+')'+ + ' SELECT T_ID as id,T_NAME as Filename,tr1.TR_SKIP as Run1_Skipped,' +'tr2.TR_SKIP as Run2_Skipped,tr1.TR_OK as Run1_OK,' +'tr2.TR_OK as Run2_OK, tr1.TR_Result as Run1_Result,' +'tr2.TR_RESULT as Run2_Result ' +'FROM TESTS, tr2 LEFT JOIN tr1 USING (TR_TEST_FK) ' - +'WHERE ((tr1.TR_SKIP IS NULL) or' - +' (tr2.TR_SKIP IS NULL) or ' + +'WHERE ((tr1.TR_SKIP IS NULL) or (tr2.TR_SKIP IS NULL) or ' +' (%s (tr1.TR_Result<>tr2.TR_Result)))' +'and (T_ID=tr2.TR_TEST_FK)'; If FNoSkipped then begin - Qry:='(((tr1.TR_SKIP="+") and (tr2.TR_OK="-") and (tr2.TR_SKIP="-")) or ' - +'((tr1.TR_OK="-") and (tr1.TR_SKIP="-") and (tr2.TR_SKIP="+")) or ' - +'((tr1.TR_SKIP="-") and (tr2.TR_SKIP="-"))) and '; + Qry:='(((tr1.TR_SKIP) and (not tr2.TR_OK) and (not tr2.TR_SKIP)) or ' + +'((not tr1.TR_OK) and (not tr1.TR_SKIP) and (tr2.TR_SKIP)) or ' + +'((not tr1.TR_SKIP) and (not tr2.TR_SKIP))) and '; end else Qry:=''; Qry:=Format(S,[Qry]); +// DumpLn(Qry); If FDebug then begin system.WriteLn('Query: '+Qry); @@ -2646,25 +2657,25 @@ begin Run2Field := P.Dataset.FindField('OK'); if Run2Field = nil then Run2Field := P.Dataset.FindField('Run2_OK'); - If (not FNoSkipped) and ((Skip1Field.AsString='+') - or ((Skip2Field <> nil) and (Skip2Field.AsString = '+'))) then + If (not FNoSkipped) and ((Skip1Field.AsBoolean) + or ((Skip2Field <> nil) and (Skip2Field.AsBoolean))) then begin Inc(FRunSkipCount); BGColor:='yellow'; // Yellow end - else If Run2Field.AsString='+' then + else If Run2Field.AsBoolean then begin if Run1Field.AsString='' then BGColor:='#68DFB8' - else if Run1Field.ASString<>'+' then + else if Run1Field.AsBoolean then BGColor:='#98FB98'; // pale Green end - else if Run2Field.AsString='-' then + else if Not Run2Field.AsBoolean then begin Inc(FRunFailedCount); if Run1Field.AsString='' then BGColor:='#FF82AB' // Light red - else if Run1Field.AsString<>'-' then + else if Not Run1Field.AsBoolean then BGColor:='#FF225B'; end; end; @@ -2738,7 +2749,7 @@ begin pos_colon:=pos(':',SubStr); Rev:=copy(SubStr,pos_colon+1,length(SubStr)); { Remove suffix like M for modified...} - while not (Rev[length(Rev)] in ['0'..'9']) do + while (length(Rev)>0) and (not (Rev[length(Rev)] in ['0'..'9'])) do Rev:=Copy(Rev,1,length(Rev)-1); S:=ViewRevURL+Rev; CellData:=CellData+Format('<A HREF="%s" target="_blank">%s</A>',[S,SubStr]); @@ -2971,6 +2982,5 @@ begin else TestsuiteCGIURL:=TestsuiteURLPrefix+'cgi-bin/'+TestsuiteBin; - SDetailsURL := TestsuiteCGIURL + '?action=1&run1id=%s'; ShortDateFormat:='yyyy/mm/dd'; end. |