#1 2015-02-09 09:20:23

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

TestSQL3 - Tests

Hi Arnaud, I was curious and wanted to test the program under FPC.

I get the following Errors:

1. File ddd\dom\dddDomUserInterfaces.pas is missing (documentet it out)
2. FPC - Test: SIGSEGV ausgelöst - Cursor after Mime types - Test passed on New Line. In Delphi the next test ist TSynTable - seems TSynTable fails under FPC

In Log Files i read:

TSQLLog 1.18.862 FTS3 2015-02-09T10:23:03

20150209 10230349 fail  #459  stack trace API 004662B0 0046AC57 005A0452 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  TTestLowLevelCommon(017F7FC8) Low level common: TSynTable "" stack trace API 00465EA3 0046CA1F 0046AC6E 005A0452 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  #461  stack trace API 004662B0 0046AC57 005A05C7 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  TTestLowLevelCommon(017F7FC8) Low level common: TSynTable "" stack trace API 00465EA3 0046CA1F 0046AC6E 005A05C7 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  #466  stack trace API 004662B0 0046AC57 005A0984 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  TTestLowLevelCommon(017F7FC8) Low level common: TSynTable "" stack trace API 00465EA3 0046CA1F 0046AC6E 005A0984 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  #467  stack trace API 004662B0 0046AC57 0046A6DB 005A0A22 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  TTestLowLevelCommon(017F7FC8) Low level common: TSynTable "" stack trace API 00465EA3 0046CA1F 0046AC6E 0046A6DB 005A0A22 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  #471 Access violation stack trace API 004662B0 0046AC57 005A132C 0046BCEC 0046CC62 00401D4A 
20150209 10230349 fail  TTestLowLevelCommon(017F7FC8) Low level common: TSynTable "Access violation" stack trace API 00465EA3 0046CA1F 0046AC6E 005A132C 0046BCEC 0046CC62 00401D4A 

my call stack at exception:

#0 GETVARIANT(0x32beb0, 0xfe46b8b6, {VTYPE = 0, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 0, VINTEGER = 0, VSINGLE = 0, VDOUBLE = 0, VDATE = 0, VCURRENCY = 0, VOLESTR = 0x0, VDISPATCH = 0x0, VERROR = 0, VBOOLEAN = false, VUNKNOWN = 0x0, VSHORTINT = 0, VBYTE = 0, VWORD = 0, VLONGWORD = 0, VINT64 = 0, VQWORD = 0, VWORD64 = 0, VSTRING = 0x0, VANY = 0x0, VARRAY = 0x0, VPOINTER = 0x0, VRECORD = 0x0, PRECINFO = 0x0, VLONGS = {0, 0, 0}, VWORDS = {0, 0, 0, 0, 0, 0, 0}, VBYTES = {0 <repeats 14 times>}}) at ..\SynCommons.pas:40028
#1 GETFIELDVARIANT({VTYPE = 273, FILLER = {0, 0}, VID = 0, VTABLE = 0x2b6d38, VVALUE = 0x2a8030 #240 <repeats 21 times>, #239#190#173#222#190#173#222#240#240#240#239#190#173#222#222'q'#192'n'#6'$~*', ID = 0, TABLE = 0x2b6d38, SBF = 0x2a8030 #240 <repeats 21 times>, #239#190#173#222#190#173#222#240#240#240#239#190#173#222#222'q'#192'n'#6'$~*'}, 0x5a6d6b0 'varint', {VTYPE = 0, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 0, VINTEGER = 0, VSINGLE = 0, VDOUBLE = 0, VDATE = 0, VCURRENCY = 0, VOLESTR = 0x0, VDISPATCH = 0x0, VERROR = 0, VBOOLEAN = false, VUNKNOWN = 0x0, VSHORTINT = 0, VBYTE = 0, VWORD = 0, VLONGWORD = 0, VINT64 = 0, VQWORD = 0, VWORD64 = 0, VSTRING = 0x0, VANY = 0x0, VARRAY = 0x0, VPOINTER = 0x0, VRECORD = 0x0, PRECINFO = 0x0, VLONGS = {0, 0, 0}, VWORDS = {0, 0, 0, 0, 0, 0, 0}, VBYTES = {0 <repeats 14 times>}}) at ..\SynCommons.pas:41462
#2 INTGET(0x5a6d3a8, {VTYPE = 0, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 0, VINTEGER = 0, VSINGLE = 0, VDOUBLE = 0, VDATE = 0, VCURRENCY = 0, VOLESTR = 0x0, VDISPATCH = 0x0, VERROR = 0, VBOOLEAN = false, VUNKNOWN = 0x0, VSHORTINT = 0, VBYTE = 0, VWORD = 0, VLONGWORD = 0, VINT64 = 0, VQWORD = 0, VWORD64 = 0, VSTRING = 0x0, VANY = 0x0, VARRAY = 0x0, VPOINTER = 0x0, VRECORD = 0x0, PRECINFO = 0x0, VLONGS = {0, 0, 0}, VWORDS = {0, 0, 0, 0, 0, 0, 0}, VBYTES = {0 <repeats 14 times>}}, {VTYPE = 273, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 27960, VINTEGER = 2846008, VSINGLE = 3.98810664e-039, VDOUBLE = 7.3707608707132668e-308, VDATE = 7.3707608707132668e-308, VCURRENCY = 11962892671479096, VOLESTR = 0x2b6d38 #27060'd'#41040#1446#41800#1446#17, VDISPATCH = 0x2b6d38, VERROR = 2846008, VBOOLEAN = true (27960), VUNKNOWN = 0x2b6d38, VSHORTINT = 56, VBYTE = 56, VWORD = 27960, VLONGWORD = 2846008, VINT64 = 11962892671479096, VQWORD = 11962892671479096, VWORD64 = 11962892671479096, VSTRING = 0x2b6d38, VANY = 0x2b6d38, VARRAY = 0x2b6d38, VPOINTER = 0x2b6d38, VRECORD = 0x2b6d38, PRECINFO = 0x2a8030, VLONGS = {0, 2846008, 2785328}, VWORDS = {0, 0, 0, 27960, 43, 32816, 42}, VBYTES = {0, 0, 0, 0, 0, 0, 56, 109, 43, 0, 48, 128, 42, 0}}, 0x5a6d050 'varint') at ..\SynCommons.pas:28777
#3 GETPROPERTY(0x5a6d3a8, {VTYPE = 0, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 0, VINTEGER = 0, VSINGLE = 0, VDOUBLE = 0, VDATE = 0, VCURRENCY = 0, VOLESTR = 0x0, VDISPATCH = 0x0, VERROR = 0, VBOOLEAN = false, VUNKNOWN = 0x0, VSHORTINT = 0, VBYTE = 0, VWORD = 0, VLONGWORD = 0, VINT64 = 0, VQWORD = 0, VWORD64 = 0, VSTRING = 0x0, VANY = 0x0, VARRAY = 0x0, VPOINTER = 0x0, VRECORD = 0x0, PRECINFO = 0x0, VLONGS = {0, 0, 0}, VWORDS = {0, 0, 0, 0, 0, 0, 0}, VBYTES = {0 <repeats 14 times>}}, {VTYPE = 273, RES1 = 0, RES2 = 0, RES3 = 0, VSMALLINT = 27960, VINTEGER = 2846008, VSINGLE = 3.98810664e-039, VDOUBLE = 7.3707608707132668e-308, VDATE = 7.3707608707132668e-308, VCURRENCY = 11962892671479096, VOLESTR = 0x2b6d38 #27060'd'#41040#1446#41800#1446#17, VDISPATCH = 0x2b6d38, VERROR = 2846008, VBOOLEAN = true (27960), VUNKNOWN = 0x2b6d38, VSHORTINT = 56, VBYTE = 56, VWORD = 27960, VLONGWORD = 2846008, VINT64 = 11962892671479096, VQWORD = 11962892671479096, VWORD64 = 11962892671479096, VSTRING = 0x2b6d38, VANY = 0x2b6d38, VARRAY = 0x2b6d38, VPOINTER = 0x2b6d38, VRECORD = 0x2b6d38, PRECINFO = 0x2a8030, VLONGS = {0, 2846008, 2785328}, VWORDS = {0, 0, 0, 27960, 43, 32816, 42}, VBYTES = {0, 0, 0, 0, 0, 0, 56, 109, 43, 0, 48, 128, 42, 0}}, 0x5a6d050 'varint') at ..\SynCommons.pas:28515
#4 VARIANTS_TINVOKEABLEVARIANTTYPE_$__DISPINVOKE$PVARDATA$TVARDATA$PCALLDESC$POINTER at :0
#5 VARIANTS_SYSDISPINVOKE$PVARDATA$TVARDATA$PCALLDESC$POINTER at :0
#6 fpc_dispinvoke_variant at :0
#7 _TSYNTABLE(0x2b1e78) at ..\SynSelfTests.pas:3165
#8 RUN(0x2df608) at ..\SynTests.pas:947
#9 SQLITE3CONSOLETESTS at mORMotSelfTests.pas:209
#10 main at TestSQL3.dpr:178

it happens in SynSelfTest.pas: 3165

      rec.varint := 100;
      check(rec.varint=100);

Last edited by itSDS (2015-02-09 09:31:09)


Rad Studio 12.1 Santorini

Offline

#2 2015-02-09 09:53:43

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: TestSQL3 - Tests

Your version of the FPC compiler does not support late-binding.
Sounds like if it does not include the http://mantis.freepascal.org/view.php?id=26773 bugfix.
You should use 2.7.1/trunk branch in revision 28995 from 2014-11-05T22:17:54

With my 2.7.1 or 3.1.1 revision, as retrieved and compiled from SVN - via FPCUp - all is green.

Please see the doc about this.
http://synopse.info/files/html/Synopse% … l#TITL_125

Offline

#3 2015-02-09 12:22:17

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

Now i have Lazarus 1.5 with fpc 3.1.1 and still have the Error...
Is there anything else to be done ?


Rad Studio 12.1 Santorini

Offline

#4 2015-02-09 15:02:18

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: TestSQL3 - Tests

I just tried with FPC 3.1.1 in my Linux box, in the About Box:

  Date: 2015-01-10
  FPC Version: 3.1.1
  SVN Revision: 47327M
  i386-linux-gtk 2

I compiled it from SVN, using fpcup.
Where did you get your distro from?
With no problem.

Offline

#5 2015-02-09 18:34:45

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

i followed your example use fpcup with svn under Windows. (fpcup.exe --fpcURL="trunk" --lazURL="trunk")
Installed all under c:\development.
The sqlite.c i compiled with mingw also i copied the both libs from mingw/lib in one folder and referenced to it.
Then i opened TestSQL3.lpi with Lazarus.
Compiled (Shift+F9)
Startet (F9)
Exception

Just to be sure i installed your Libs and sqlite.o - Same Exception.
As you said it depends on late-binding. I did not install anything else cause i think in fpc 3.1.1 everything should be included.

I debugged the Programm and the Exception is at another Place:

      rec := T.Data;
#0 fpc_ansistr_decr_ref at :0
#1 ?? at :0
#2 _TSYNTABLE(0x213198) at ..\SynSelfTests.pas:3151
#3 RUN(0x2409c8) at ..\SynTests.pas:947
#4 SQLITE3CONSOLETESTS at mORMotSelfTests.pas:209
#5 main at TestSQL3.dpr:178

last line before Exception was: (SynCommons.Pas : 39779

      VValue := DefaultRecordData else begin

Rad Studio 12.1 Santorini

Offline

#6 2015-02-09 18:51:59

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: TestSQL3 - Tests

Weird.
I'm not able to reproduce this issue.

Did you retrieve all source code, including Synopse.inc?
What are you conditionals? I did not set any conditional nor specific option.

Offline

#7 2015-02-10 09:06:40

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

As i stated earlier in this thread - the File

dddDomUserInterfaces in 'DDD\dom\dddDomUserInterfaces.pas', 

is missing in GIT and in the Complete - ZIP.


Rad Studio 12.1 Santorini

Offline

#8 2015-02-10 09:17:17

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

I testet just this Moment with Version 871, Synopse.inc is in the Main - Dir
The Tests run fine with XE7
I switched from linux to win32 and default(debug) in Lazarus

Linux - Compiler Settings wrote:

-Tlinux -Pi386 -MObjFPC -Scaghi -CX -O2 -XX -l -vw- -vh- -venibq -Fi.. -Fifpc\i386-linux -Fu.. -Fu. -FUfpc\i386-linux -FEfpc\i386-linux\

win32 - Compiler Settings wrote:

-MObjFPC -Scgi -CX -O2 -XX -l -vewnhibq -Fi.. -Fifpc\i386-win32 -Fu.. -Fu. -FUfpc\i386-win32 -FEfpc\i386-win32\

default(debug) - Compiler Settings wrote:

-MObjFPC -Scaghi -Cirot -O1 -gw2 -godwarfsets -gl -gh -Xg -l -vewnhibq -Fi.. -Fifpc\debug\i386-win32 -Fu.. -Fu. -FUfpc\debug\i386-win32 -FEfpc\debug\i386-win32\

fpc.cfg wrote:

#
# Config file generated by fpcmkcfg on 09.02.2015 - 12:11:13
# Example fpc.cfg for Free Pascal Compiler
#

# ----------------------
# Defines (preprocessor)
# ----------------------

#
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
#
# -d is the same as #DEFINE
# -u is the same as #UNDEF
#

#
# Some examples (for switches see below, and the -? helppages)
#
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
#

# For a release compile with optimizes and strip debuginfo
#IFDEF RELEASE
  -O2
  -Xs
  #WRITE Compiling Release Version
#ENDIF

# For a debug version compile with debuginfo and all codegeneration checks on
#IFDEF DEBUG
  -gl
  -Crtoi
  #WRITE Compiling Debug Version
#ENDIF

# assembling
#ifdef darwin
# use pipes instead of temporary files for assembling
-ap
# path to Xcode 4.3+ utilities (no problem if it doesn't exist)
-FD/Applications/Xcode.app/Contents/Developer/usr/bin
#endif

# ----------------
# Parsing switches
# ----------------

# Pascal language mode
#      -Mfpc      free pascal dialect (default)
#      -Mobjfpc   switch some Delphi 2 extensions on
#      -Mdelphi   tries to be Delphi compatible
#      -Mtp       tries to be TP/BP 7.0 compatible
#      -Mgpc      tries to be gpc compatible
#      -Mmacpas   tries to be compatible to the macintosh pascal dialects
#
# Turn on Object Pascal extensions by default
#-Mobjfpc

# Assembler reader mode
#      -Rdefault  use default assembler
#      -Ratt      read AT&T style assembler
#      -Rintel    read Intel style assembler
#
# All assembler blocks are AT&T styled by default
#-Ratt

# Semantic checking
#      -S2        same as -Mobjfpc
#      -Sc        supports operators like C (*=,+=,/= and -=)
#      -Sa        include assertion code.
#      -Sd        same as -Mdelphi
#      -Se<x>     error options. <x> is a combination of the following:
#         <n> : compiler stops after <n> errors (default is 1)
#         w   : compiler stops also after warnings
#         n   : compiler stops also after notes
#         h   : compiler stops also after hints
#      -Sg        allow LABEL and GOTO
#      -Sh        Use ansistrings
#      -Si        support C++ styled INLINE
#      -Sk        load fpcylix unit
#      -SI<x>     set interface style to <x>
#         -SIcom    COM compatible interface (default)
#         -SIcorba  CORBA compatible interface
#      -Sm        support macros like C (global)
#      -So        same as -Mtp
#      -Sp        same as -Mgpc
#      -Ss        constructor name must be init (destructor must be done)
#      -Sx        enable exception keywords (default in Delphi/ObjFPC modes)
#
# Allow goto, inline, C-operators, C-vars
-Sgic

# ---------------
# Code generation
# ---------------

# Uncomment the next line if you always want static/dynamic units by default
# (can be overruled with -CD, -CS at the commandline)
#-CS
#-CD

# Set the default heapsize to 8Mb
#-Ch8000000

# Set default codegeneration checks (iocheck, overflow, range, stack)
#-Ci
#-Co
#-Cr
#-Ct

# Optimizer switches
# -Os        generate smaller code
# -Oa=N      set alignment to N
# -O1        level 1 optimizations (quick optimizations, debuggable)
# -O2        level 2 optimizations (-O1 + optimizations which make debugging more difficult)
# -O3        level 3 optimizations (-O2 + optimizations which also may make the program slower rather than faster)
# -Oo<x>     switch on optimalization x. See fpc -i for possible values
# -OoNO<x>   switch off optimalization x. See fpc -i for possible values
# -Op<x>     set target cpu for optimizing, see fpc -i for possible values

#ifdef darwin
#ifdef cpui386
-Cppentiumm
-Oppentiumm
#endif
#endif

# -----------------------
# Set Filenames and Paths
# -----------------------

# Both slashes and backslashes are allowed in paths

# path to the messagefile, not necessary anymore but can be used to override
# the default language
#-FrC:\development\fpc/msg/errore.msg
#-FrC:\development\fpc/msg/errorn.msg
#-FrC:\development\fpc/msg/errores.msg
#-FrC:\development\fpc/msg/errord.msg
#-FrC:\development\fpc/msg/errorr.msg

# search path for unicode binary files
-FM/unicode/

# searchpath for units and other system dependent things
-FuC:\development\fpc/units/$fpctarget
-FuC:\development\fpc/units/$fpctarget/*
-FuC:\development\fpc/units/$fpctarget/rtl

#ifdef cpui8086
-FuC:\development\fpc/units/$fpctarget/$fpcsubarch-$fpcmemorymodel
-FuC:\development\fpc/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/*
-FuC:\development\fpc/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl
#endif

#IFDEF FPCAPACHE_1_3
-FuC:\development\fpc/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-FuC:\development\fpc/units/$fpctarget/httpd20
#ELSE
-FuC:\development\fpc/units/$fpctarget/httpd22
#ENDIF
#ENDIF

# searchpath for fppkg user-specific packages
-Fu$LOCAL_APPDATA\FreePascal\fppkg/units/$FPCTARGET/*

# path to the gcclib


# searchpath for libraries
#-FlC:\development\fpc/lib
#-Fl/lib;/usr/lib
-FlC:\development\fpc/lib/$FPCTARGET

# searchpath for tools
-FDC:\development\fpc/bin/$FPCTARGET

#IFNDEF CPUI386
#IFNDEF CPUAMD64
#DEFINE NEEDCROSSBINUTILS
#ENDIF
#ENDIF

#IFNDEF Win32
#DEFINE NEEDCROSSBINUTILS
#ENDIF

# never need cross-prefix when targeting the JVM
# (no native compiler, always cross-compiling)
#ifdef cpujvm
#undef NEEDCROSSBINUTILS
#endif

# for android cross-prefix is set by compiler
#ifdef android
#undef NEEDCROSSBINUTILS
#endif

# never need cross-prefix when targeting the i8086
# (no native compiler, always cross-compiling)
#ifdef cpui8086
#undef NEEDCROSSBINUTILS
#endif

# binutils prefix for cross compiling
#IFDEF FPC_CROSSCOMPILING
#IFDEF NEEDCROSSBINUTILS
  -XP$FPCTARGET-
#ENDIF
#ENDIF


# -------------
# Linking
# -------------

# generate always debugging information for GDB (slows down the compiling
# process)
#      -gc        generate checks for pointers
#      -gd        use dbx
#      -gg        use gsym
#      -gh        use heap trace unit (for memory leak debugging)
#      -gl        use line info unit to show more info for backtraces
#      -gv        generates programs tracable with valgrind
#      -gw        generate dwarf debugging info
#
# Enable debuginfo and use the line info unit by default
#-gl

# always pass an option to the linker
#-k-s

# Always strip debuginfo from the executable
-Xs

# Always use smartlinking on i8086, because the system unit exceeds the 64kb
# code limit
#ifdef cpui8086
-CX
-XX
#endif


# -------------
# Miscellaneous
# -------------

# Write always a nice FPC logo wink
-l

# Verbosity
#      e : Show errors (default)       d : Show debug info
#      w : Show warnings               u : Show unit info
#      n : Show notes                  t : Show tried/used files
#      h : Show hints                  s : Show time stamps
#      i : Show general info           q : Show message numbers
#      l : Show linenumbers            c : Show conditionals
#      a : Show everything             0 : Show nothing (except errors)
#      b : Write file names messages   r : Rhide/GCC compatibility mode
#          with full path              x : Executable info (Win32 only)
#      v : write fpcdebug.txt with     p : Write tree.log with parse tree
#          lots of debugging info
#
# Display Info, Warnings and Notes
-viwn
# If you don't want so much verbosity use
#-vw
# fpcup:
# Adding binary tools paths to
# plain bin dir and architecture bin dir so
# fpc 2.7+ fpcres etc can be found.
-FDC:\development\fpc\bin\i386-win32\;C:\development\fpc\bin\


Rad Studio 12.1 Santorini

Offline

#9 2015-02-10 09:19:27

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

I get SIGSEGV at adress 402D31

at line 3151 synselftest.pas

      // test TSynTableVariantType
      rec := T.Data;
      check(rec.ID=0);

Last edited by itSDS (2015-02-10 09:20:19)


Rad Studio 12.1 Santorini

Offline

#10 2015-02-10 11:05:36

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

Hi Arnaud, I have new insights

I run the test from command - Line (without Debugger, Debugger crashed after 2 times Continue)

On XE7 only Synopse PDF - failed (that's normal)
Total Time: 65.73s
On FPC Low Level Common - TSynTable, and Basic Classes TSQLRecord failed
Total Time : 143.66s

FPC wrote:

   Synopse mORMot Framework Automated tests
  ------------------------------------------


1. Synopse libraries

1.1. Low level common:
  - System copy record: 22 assertions passed  88us
  - TRawUTF8List: 110,007 assertions passed  113.77ms
  - TDynArray: 1,027,706 assertions passed  371.31ms
  - TDynArrayHashed: 1,200,629 assertions passed  363.87ms
  - TObjectListHashed: 999,788 assertions passed  460.22ms
  - TObjectDynArrayWrapper: 167,501 assertions passed  93.13ms
  - TObjArray: 2,016 assertions passed  6.46ms
  - Fast string compare: 7 assertions passed  268us
  - IdemPropName: 138 assertions passed  413us
  - Url encoding: 132 assertions passed  1.93ms
  - GUID: 9,005 assertions passed  35.00ms
  - IsMatch: 599 assertions passed  817us
  - Soundex: 35 assertions passed  268us
  - Numerical conversions: 1,113,103 assertions passed  1.62s
  - crc32c: 30,030 assertions passed  94.49ms
      pas 29.49ms 202.2 MB/s fast 3.17ms 1.8 GB/s sse42 1.44ms 44.5 MB/s
  - Curr 64: 20,053 assertions passed  8.20ms
  - CamelCase: 11 assertions passed  638us
  - Bits: 4,774 assertions passed  519us
  - Ini files: 7,004 assertions passed  22.09ms
  - UTF8: 81,128 assertions passed  1.17s
  - Iso 8601 date and time: 36,015 assertions passed  14.82ms
  - Url decoding: 1,100 assertions passed  973us
  - Mime types: 23 assertions passed  576us
!  - TSynTable: 1 / 458 FAILED  5.12ms
  - TSynCache: 404 assertions passed  681us
  - TSynFilter: 804 assertions passed  4.52ms
  - TSynValidate: 677 assertions passed  2.28ms
  - TSynLogFile: 42 assertions passed  881us
  Total failed: 1 / 4,813,211  - Low level common FAILED  4.41s

1.2. Low level types:
  - RTTI: 61 assertions passed  605us
  - Url encoding: 200 assertions passed  1.58ms
  - Encode decode JSON: 282,057 assertions passed  7.97s
  - Variants: 5 assertions passed  642us
  - Mustache renderer: 142 assertions passed  1.37s
  - TDocVariant: no assertion  268us
  - BSON: no assertion  95us
  - TSynTableStatement: 205 assertions passed  519us
  Total failed: 0 / 282,670  - Low level types PASSED  9.35s

1.3. Cryptographic routines:
  - Adler32: 1 assertion passed  439us
  - MD5: 1 assertion passed  227us
  - SHA1: 5 assertions passed  1.59ms
  - SHA256: 5 assertions passed  452us
  - AES256: 12,177 assertions passed  166.57ms
  - RC4: 1 assertion passed  635us
  - Base64: 11,994 assertions passed  104.18ms
  - CompressShaAes: 1,683 assertions passed  5.25ms
  Total failed: 0 / 25,867  - Cryptographic routines PASSED  282.27ms

1.4. Compression:
  - In memory compression: 12 assertions passed  317.38ms
  - GZIP format: 19 assertions passed  581.78ms
  - ZIP format: 54 assertions passed  2.32s
  - SynLZO: 3,006 assertions passed  84.19ms
  - SynLZ: 30,219 assertions passed  581.66ms
  Total failed: 0 / 33,310  - Compression PASSED  3.89s


2. mORMot

2.1. File based:
  - Database direct access: 10,138 assertions passed  212.44ms
  - Virtual table direct access: 12 assertions passed  1.73ms
  - TSQLTableJSON: 106,068 assertions passed  131.73ms
  - TSQLRestClientDB: 608,193 assertions passed  8.87s
  Total failed: 0 / 724,411  - File based PASSED  9.22s

2.2. File based memory map:
  - Database direct access: 10,136 assertions passed  233.71ms
  - Virtual table direct access: 12 assertions passed  1.16ms
  - TSQLTableJSON: 106,068 assertions passed  139.95ms
  - TSQLRestClientDB: 608,192 assertions passed  13.26s
  Total failed: 0 / 724,408  - File based memory map PASSED  13.64s

2.3. File based WAL:
  - Database direct access: 10,138 assertions passed  220.18ms
  - Virtual table direct access: 12 assertions passed  816us
  - TSQLTableJSON: 106,068 assertions passed  129.74ms
  - TSQLRestClientDB: 608,193 assertions passed  8.75s
  Total failed: 0 / 724,411  - File based WAL PASSED  9.11s

2.4. Memory based:
  - Database direct access: 10,136 assertions passed  211.56ms
  - Virtual table direct access: 12 assertions passed  943us
  - TSQLTableJSON: 106,068 assertions passed  127.38ms
  - TSQLRestClientDB: 676,500 assertions passed  11.07s
  - RTree: 140,000 assertions passed  1.79s
  Total failed: 0 / 932,716  - Memory based PASSED  13.21s

2.5. Basic classes:
!  - TSQLRecord: 1 / 80 FAILED  1.99ms
  - TSQLRecordSigned: 200 assertions passed  3.84ms
  - TSQLModel: 3 assertions passed  338us
  - TSQLRestServerFullMemory: 562,310 assertions passed  1.80s
  Total failed: 1 / 562,593  - Basic classes FAILED  1.81s

2.6. Client server access:
  - TSQLHttpServer: 2 assertions passed  6.16ms
     using HTTP API 2.0
  - TSQLHttpClient: 3 assertions passed  28.60ms
     using TSQLHttpClientWinHTTP
  - HTTP client keep alive: 3,087 assertions passed  474.39ms
     4818 B, first 2.96ms, done 448.58ms i.e. 2229/s, aver. 448us, 10.4 MB/s
  - HTTP client multi connect: 3,087 assertions passed  477.57ms
     4818 B, first 585us, done 455.51ms i.e. 2195/s, aver. 455us, 10.2 MB/s
  - HTTP client encrypted: 3,087 assertions passed  529.57ms
     4818 B, first 561us, done 510.93ms i.e. 1957/s, aver. 510us, 9.1 MB/s
  - Named pipe access: 3,089 assertions passed  771.94ms
     4818 B, first 260.26ms, done 286.82ms i.e. 3486/s, aver. 286us, 16.3 MB/s
  - Local window messages: 3,088 assertions passed  110.84ms
     4818 B, first 208us, done 102.91ms i.e. 9717/s, aver. 102us, 45.4 MB/s
  - Direct in process access: 3,056 assertions passed  37.69ms
     4818 B, first 35us, done 29.14ms i.e. 34310/s, aver. 29us, 160.4 MB/s
  - HTTP several DB servers: 9,604 assertions passed  2.47s
     4818 B, first 633us, done 458.92ms i.e. 2179/s, aver. 458us, 10.1 MB/s
     4818 B, first 1.74ms, done 472.91ms i.e. 2114/s, aver. 472us, 9.8 MB/s
     4818 B, first 428us, done 524.13ms i.e. 1907/s, aver. 524us, 8.9 MB/s
  Total failed: 0 / 28,103  - Client server access PASSED  4.91s

2.7. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  660us
  - Service initialization: 243 assertions passed  3.99ms
  - Direct call: 520,386 assertions passed  85.92ms
  - Server side: 520,406 assertions passed  84.56ms
  - Client side REST: 693,873 assertions passed  4.74s
  - Client side REST result as object: 693,867 assertions passed  1.70s
  - Client side REST locked: 693,871 assertions passed  1.67s
  - Client side REST synchronized: 693,871 assertions passed  6.63s
  - Client side REST background thread: 693,871 assertions passed  6.58s
  - Client side REST weak authentication: 693,867 assertions passed  1.56s
  - Client side http basic authentication: 693,867 assertions passed  2.29s
  - Client side REST custom record layout: 693,867 assertions passed  1.79s
  - Client side JSONRPC: 693,867 assertions passed  1.93s
  - Test over HTTP: 6,825 assertions passed  878.62ms
  - Security: 135 assertions passed  3.54ms
  - Mocks and stubs: 30,029 assertions passed  218.36ms
  Total failed: 0 / 7,322,901  - Service oriented architecture PASSED  30.22s

2.8. External database:
  - TQuery: 2,003 assertions passed  7.05ms
  - SynDBRemote: 30,095 assertions passed  379.51ms
  - External records: 2 assertions passed  1.11ms
  - Auto adapt SQL: 543 assertions passed  86.22ms
  - Crypted database: 253,275 assertions passed  312.16ms
  - External via REST: 170,354 assertions passed  11.69s
  - External via virtual table: 170,354 assertions passed  12.27s
  - External via REST with change tracking: 180,454 assertions passed  13.90s
  - JET database: 7,007 assertions passed  993.07ms
  Total failed: 0 / 814,087  - External database PASSED  39.66s

2.9. Multi thread process:
  - Create thread pool: 1 assertion passed  3.00ms
  - TSQLRestServerDB: 4,822 assertions passed  140.40ms
     1=16623/s  2=19194/s  5=10895/s  10=29978/s  30=25631/s  50=21939/s
  - TSQLRestClientDB: 4,822 assertions passed  226.30ms
     1=13884/s  2=20353/s  5=15860/s  10=17805/s  30=9355/s  50=5189/s
  - TSQLRestClientURINamedPipe: 2,412 assertions passed  1.38s
     1=1216/s  2=1708/s  5=654/s
  - TSQLRestClientURIMessage: 3,222 assertions passed  353.61ms
     1=3482/s  2=5638/s  5=5772/s  10=4572/s
  - TSQLHttpClientWinHTTP_HTTPAPI: 4,822 assertions passed  659.98ms
     1=2474/s  2=3397/s  5=5036/s  10=5035/s  30=4807/s  50=3687/s
  - TSQLHttpClientWinSock_WinSock: no assertion  759us
  - Locked: 4,822 assertions passed  239.85ms
     1=9421/s  2=15992/s  5=13365/s  10=14988/s  30=8419/s  50=6981/s
  - Unlocked: 4,822 assertions passed  135.02ms
     1=12612/s  2=25403/s  5=14459/s  10=27296/s  30=24322/s  50=21306/s
  - Background thread: 4,822 assertions passed  131.08ms
     1=13448/s  2=22917/s  5=17855/s  10=26360/s  30=25979/s  50=19323/s
  - Main thread: 4,820 assertions passed  206.45ms
     1=7941/s  2=14346/s  5=12918/s  10=12528/s  30=16208/s  50=13037/s
  Total failed: 0 / 39,387  - Multi thread process PASSED  3.48s

2.10. DDD shared units:
  - User model: 2,269 assertions passed  2.30ms
  - Authentication model: 20,002 assertions passed  386.52ms
  Total failed: 0 / 22,271  - DDD shared units PASSED  390.78ms


Using mORMot 1.18.871 FTS3
Running on wEight_64 with code page 1252
TSQLite3LibraryStatic running 3.8.8.2 with external MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 143.66s
Tests performed at 10.02.2015 11:58:09

Total assertions failed for all test suits:  2 / 17,050,346
! Some tests FAILED: please correct the code.


Rad Studio 12.1 Santorini

Offline

#11 2015-02-10 15:46:06

AOG
Member
Registered: 2014-02-24
Posts: 490

Re: TestSQL3 - Tests

Your results look very good !!
Only 2 failures.
On my system, I have only 1 failure (TSQLRecord).

At the moment, FPC trunk and Lazarus trunk are not that stable.
I see differences every day.
Just now, I could not compile FPC trunk on my RPi2 anymore.

Therefor, mORMot failures under FPC could very well be FPC related !
mORMot uses very deep features (and some trickery) on both Delphi and FPC.

I will keep track of FPC and mORMot.
If causes are known, I will report back ... however, most bugs are solved by Ab before you know it ... ;-)

Offline

#12 2015-02-11 10:26:20

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: TestSQL3 - Tests

FYI working command line parameters for FPC 3.1.1 is:

-Tlinux -Pi386 -MObjFPC -Scaghi -CX -O2 -XX -l -vw- -vh- -venibq -vm4082 -Fi/home/user/lib -Fi/home/user/lib/SQLite3/fpc/i386-linux -Fu/home/user/lib -Fu/home/user/lib/SQLite3/ -FU/home/user/lib/SQLite3/fpc/i386-linux/ -FE/home/user/lib/SQLite3/fpc/i386-linux/ TestSQL3.dpr

Sounds like if we have the same set of compiler settings.
The default settings, by the way.

Offline

#13 2015-02-11 14:35:03

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

The only difference - i use Windows and you Linux


Rad Studio 12.1 Santorini

Offline

#14 2015-02-11 20:07:10

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: TestSQL3 - Tests

I've no error on Win32 with 2.7.1, but a single problem on Linux with 3.1.1.
Sounds like if FPC trunk is not so stable those days....
hmm

Offline

#15 2015-02-24 09:07:20

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

Today's output generated with the latest fpcup from today morning:

TSynTable - failed in 1.1
2.7 failed except 5 Points.

compiled with compilFPC.bat

best regards

Synopse mORMot Framework Automated tests
  ------------------------------------------


1. Synopse libraries

1.1. Low level common:
  - System copy record: 22 assertions passed  118us
  - TRawUTF8List: 130,009 assertions passed  49.89ms
  - TDynArray: 1,027,706 assertions passed  232.69ms
  - TDynArrayHashed: 1,200,629 assertions passed  135.44ms
  - TObjectListHashed: 999,780 assertions passed  384.94ms
  - TObjectDynArrayWrapper: 167,501 assertions passed  21.91ms
  - TObjArray: 2,016 assertions passed  3.19ms
  - Fast string compare: 7 assertions passed  131us
  - IdemPropName: 138 assertions passed  159us
  - Url encoding: 132 assertions passed  2.61ms
  - GUID: 9,005 assertions passed  6.72ms
  - IsMatch: 599 assertions passed  522us
  - Soundex: 35 assertions passed  423us
  - Numerical conversions: 1,114,796 assertions passed  366.20ms
  - crc32c: 30,030 assertions passed  72.08ms
      pas 16.79ms 355.3 MB/s fast 3.44ms 1.6 GB/s sse42 1.41ms 4.1 GB/s
  - Curr 64: 20,053 assertions passed  1.82ms
  - CamelCase: 11 assertions passed  506us
  - Bits: 4,774 assertions passed  476us
  - Ini files: 7,004 assertions passed  14.31ms
  - UTF8: 81,128 assertions passed  802.05ms
  - Iso 8601 date and time: 36,015 assertions passed  4.63ms
  - Url decoding: 1,100 assertions passed  515us
  - Mime types: 23 assertions passed  534us
!  - TSynTable: 1 / 458 FAILED  2.74ms
  - TSynCache: 404 assertions passed  579us
  - TSynFilter: 804 assertions passed  2.33ms
  - TSynValidate: 677 assertions passed  831us
  - TSynLogFile: 42 assertions passed  2.82ms
  Total failed: 1 / 4,834,898  - Low level common FAILED  2.12s

1.2. Low level types:
  - RTTI: 61 assertions passed  419us
  - Url encoding: 200 assertions passed  3.20ms
  - Encode decode JSON: 283,024 assertions passed  6.70s
  - Variants: 5 assertions passed  533us
  - Mustache renderer: 143 assertions passed  816.61ms
  - TDocVariant: no assertion  542us
  - BSON: no assertion  450us
  - TSynTableStatement: 205 assertions passed  394us
  Total failed: 0 / 283,638  - Low level types PASSED  7.53s

1.3. Cryptographic routines:
  - Adler32: 1 assertion passed  587us
  - MD5: 1 assertion passed  423us
  - SHA1: 5 assertions passed  383us
  - SHA256: 5 assertions passed  399us
  - AES256: 12,790 assertions passed  250.90ms
      cypher 1..2409 bytes with AES-NI: 418us, without: 6.30ms
  - RC4: 1 assertion passed  199us
  - Base64: 11,994 assertions passed  75.45ms
  - CompressShaAes: 1,683 assertions passed  2.27ms
  Total failed: 0 / 26,480  - Cryptographic routines PASSED  333.68ms

1.4. Compression:
  - In memory compression: 12 assertions passed  308.27ms
  - GZIP format: 19 assertions passed  568.87ms
  - ZIP format: 54 assertions passed  1.92s
  - SynLZO: 3,006 assertions passed  89.94ms
  - SynLZ: 32,221 assertions passed  552.39ms
  Total failed: 0 / 35,312  - Compression PASSED  3.45s


2. mORMot

2.1. File based:
  - Database direct access: 20,238 assertions passed  74.02ms
  - Virtual table direct access: 12 assertions passed  1.28ms
  - TSQLTableJSON: 106,068 assertions passed  68.85ms
  - TSQLRestClientDB: 608,193 assertions passed  6.27s
  Total failed: 0 / 734,511  - File based PASSED  6.41s

2.2. File based memory map:
  - Database direct access: 20,236 assertions passed  72.82ms
  - Virtual table direct access: 12 assertions passed  1.49ms
  - TSQLTableJSON: 106,068 assertions passed  68.76ms
  - TSQLRestClientDB: 608,192 assertions passed  7.70s
  Total failed: 0 / 734,508  - File based memory map PASSED  7.85s

2.3. File based WAL:
  - Database direct access: 20,238 assertions passed  84.80ms
  - Virtual table direct access: 12 assertions passed  1.25ms
  - TSQLTableJSON: 106,068 assertions passed  77.94ms
  - TSQLRestClientDB: 608,193 assertions passed  6.78s
  Total failed: 0 / 734,511  - File based WAL PASSED  6.95s

2.4. Memory based:
  - Database direct access: 20,236 assertions passed  73.16ms
  - Virtual table direct access: 12 assertions passed  1.13ms
  - TSQLTableJSON: 106,068 assertions passed  71.40ms
  - TSQLRestClientDB: 676,500 assertions passed  7.66s
  - RTree: 140,000 assertions passed  931.39ms
  Total failed: 0 / 942,816  - Memory based PASSED  8.74s

2.5. Basic classes:
  - TSQLRecord: 80 assertions passed  1.02ms
  - TSQLRecordSigned: 200 assertions passed  4.46ms
  - TSQLModel: 3 assertions passed  948us
  - TSQLRestServerFullMemory: 562,310 assertions passed  958.64ms
  Total failed: 0 / 562,593  - Basic classes PASSED  969.26ms

2.6. Client server access:
  - TSQLHttpServer: 2 assertions passed  4.33ms
     using HTTP API 2.0
  - TSQLHttpClient: 3 assertions passed  19.85ms
     using TSQLHttpClientWinHTTP
  - HTTP client keep alive: 3,087 assertions passed  465.80ms
     4818 B, first 5.00ms, done 427.64ms i.e. 2338/s, aver. 427us, 10.9 MB/s
  - HTTP client multi connect: 3,087 assertions passed  419.54ms
     4818 B, first 686us, done 402.05ms i.e. 2487/s, aver. 402us, 11.6 MB/s
  - HTTP client encrypted: 3,087 assertions passed  406.11ms
     4818 B, first 595us, done 375.21ms i.e. 2665/s, aver. 375us, 12.4 MB/s
  - Named pipe access: 3,089 assertions passed  743.00ms
     4818 B, first 260.94ms, done 265.51ms i.e. 3766/s, aver. 265us, 17.6 MB/s
  - Local window messages: 3,088 assertions passed  85.68ms
     4818 B, first 151us, done 79.39ms i.e. 12594/s, aver. 79us, 58.8 MB/s
  - Direct in process access: 3,056 assertions passed  36.05ms
     4818 B, first 36us, done 26.98ms i.e. 37052/s, aver. 26us, 173.2 MB/s
  - HTTP several DB servers: 9,604 assertions passed  1.34s
     4818 B, first 524us, done 432.07ms i.e. 2314/s, aver. 432us, 10.8 MB/s
     4818 B, first 521us, done 350.27ms i.e. 2854/s, aver. 350us, 13.3 MB/s
     4818 B, first 526us, done 356.66ms i.e. 2803/s, aver. 356us, 13.1 MB/s
  Total failed: 0 / 28,103  - Client server access PASSED  3.54s

2.7. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  260us
!  - Service initialization: 14 / 243 FAILED  6.18ms
  - Direct call: 520,386 assertions passed  37.37ms
!  - Server side: 1 / 3 FAILED  282us
! Service oriented architecture - Client side REST
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create(): ICalculator interface or TSQLRestRoutingREST
routing not supported by server: {
"errorCode":400,
"errorText":"Bad Request"
}
! Service oriented architecture - Client side REST result as object
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Client side REST sessions stats
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
  - Client side REST locked: no assertion  3.53ms
  - Client side REST main thread: no assertion  2.13ms
! Service oriented architecture - Client side REST background thread
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Client side REST weak authentication
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Client side REST basic authentication
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Client side REST custom record layout
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Client side JSONRPC
! Exception EInvalidCast raised with messsage:
!  Invalid type cast
! Service oriented architecture - Test over HTTP
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create(): ICalculator interface or TSQLRestRoutingREST
routing not supported by server: {
"errorCode":400,
"errorText":"Bad Request"
}
!  - Security: 78 / 135 FAILED  3.02ms
  - Mocks and stubs: 30,029 assertions passed  76.13ms
  Total failed: 93 / 550,853  - Service oriented architecture FAILED  180.97ms

! Exception EAccessViolation raised with messsage:
!  Access violation


Using mORMot 1.18.970 FTS3
Running on wEight_64 with code page 1252
TSQLite3LibraryStatic 3.8.8.2 with internal MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 48.13s
Tests performed at 24.02.2015 10:03:14

Total assertions failed for all test suits:  1 / 8,917,370
! Some tests FAILED: please correct the code.


Rad Studio 12.1 Santorini

Offline

#16 2015-02-28 11:05:11

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: TestSQL3 - Tests

Hi Arnaud,

here is my TestResult with some changes to last test

Error TSynTable in 1.1 still present
No Error any more in 2.7
Some Errors in New Section 2.9

Synopse mORMot Framework Automated tests
  ------------------------------------------


1. Synopse libraries

1.1. Low level common:
  - System copy record: 22 assertions passed  475us
  - TRawUTF8List: 130,009 assertions passed  41.90ms
  - TDynArray: 1,027,706 assertions passed  228.53ms
  - TDynArrayHashed: 1,200,629 assertions passed  127.10ms
  - TObjectListHashed: 999,735 assertions passed  376.04ms
  - TObjectDynArrayWrapper: 167,501 assertions passed  22.20ms
  - TObjArray: 2,016 assertions passed  2.60ms
  - Fast string compare: 7 assertions passed  439us
  - IdemPropName: 138 assertions passed  468us
  - Url encoding: 132 assertions passed  1.37ms
  - GUID: 9,005 assertions passed  6.69ms
  - IsMatch: 599 assertions passed  470us
  - Soundex: 35 assertions passed  302us
  - Numerical conversions: 1,113,020 assertions passed  377.83ms
  - crc32c: 30,030 assertions passed  59.19ms
      pas 16.68ms 357.5 MB/s fast 3.81ms 1.5 GB/s sse42 1.40ms 4.1 GB/s
  - Curr 64: 20,053 assertions passed  2.02ms
  - CamelCase: 11 assertions passed  503us
  - Bits: 4,774 assertions passed  559us
  - Ini files: 7,004 assertions passed  15.08ms
  - UTF8: 81,128 assertions passed  883.22ms
  - Iso 8601 date and time: 36,015 assertions passed  6.13ms
  - Url decoding: 1,100 assertions passed  482us
  - Mime types: 23 assertions passed  284us
!  - TSynTable: 1 / 458 FAILED  6.96ms
  - TSynCache: 404 assertions passed  292us
  - TSynFilter: 804 assertions passed  2.09ms
  - TSynValidate: 677 assertions passed  1.08ms
  - TSynLogFile: 42 assertions passed  1.96ms
  Total failed: 1 / 4,833,077  - Low level common FAILED  2.17s

1.2. Low level types:
  - RTTI: 61 assertions passed  407us
  - Url encoding: 200 assertions passed  1.73ms
  - Encode decode JSON: 282,594 assertions passed  170.17ms
  - Variants: 5 assertions passed  972us
  - Mustache renderer: 144 assertions passed  2.84ms
  - TDocVariant: no assertion  401us
  - BSON: no assertion  281us
  - TSynTableStatement: 205 assertions passed  463us
  Total failed: 0 / 283,209  - Low level types PASSED  183.22ms

1.3. Cryptographic routines:
  - Adler32: 1 assertion passed  601us
  - MD5: 1 assertion passed  943us
  - SHA1: 5 assertions passed  474us
  - SHA256: 5 assertions passed  182us
  - AES256: 12,790 assertions passed  256.48ms
      cypher 1..2409 bytes with AES-NI: 500us, without: 6.32ms
  - RC4: 1 assertion passed  222us
  - Base64: 11,994 assertions passed  75.37ms
  - CompressShaAes: 1,683 assertions passed  2.39ms
  Total failed: 0 / 26,480  - Cryptographic routines PASSED  341.60ms

1.4. Compression:
  - In memory compression: 12 assertions passed  313.29ms
  - GZIP format: 19 assertions passed  577.32ms
  - ZIP format: 54 assertions passed  1.79s
  - SynLZO: 3,006 assertions passed  78.39ms
  - SynLZ: 32,221 assertions passed  566.75ms
  Total failed: 0 / 35,312  - Compression PASSED  3.33s


2. mORMot

2.1. File based:
  - Database direct access: 20,238 assertions passed  79.87ms
  - Virtual table direct access: 12 assertions passed  1.33ms
  - TSQLTableJSON: 106,068 assertions passed  70.89ms
  - TSQLRestClientDB: 608,193 assertions passed  5.39s
  Total failed: 0 / 734,511  - File based PASSED  5.55s

2.2. File based memory map:
  - Database direct access: 20,236 assertions passed  117.93ms
  - Virtual table direct access: 12 assertions passed  1.07ms
  - TSQLTableJSON: 106,068 assertions passed  70.40ms
  - TSQLRestClientDB: 608,192 assertions passed  5.67s
  Total failed: 0 / 734,508  - File based memory map PASSED  5.86s

2.3. File based WAL:
  - Database direct access: 20,238 assertions passed  83.48ms
  - Virtual table direct access: 12 assertions passed  1.13ms
  - TSQLTableJSON: 106,068 assertions passed  73.07ms
  - TSQLRestClientDB: 608,193 assertions passed  6.70s
  Total failed: 0 / 734,511  - File based WAL PASSED  6.86s

2.4. Memory based:
  - Database direct access: 20,236 assertions passed  71.83ms
  - Virtual table direct access: 12 assertions passed  1.07ms
  - TSQLTableJSON: 106,068 assertions passed  70.96ms
  - TSQLRestClientDB: 676,500 assertions passed  7.73s
  - RTree: 140,000 assertions passed  658.74ms
  Total failed: 0 / 942,816  - Memory based PASSED  8.54s

2.5. Basic classes:
  - TSQLRecord: 80 assertions passed  921us
  - TSQLRecordSigned: 200 assertions passed  4.01ms
  - TSQLModel: 3 assertions passed  413us
  - TSQLRestServerFullMemory: 562,310 assertions passed  981.34ms
  Total failed: 0 / 562,593  - Basic classes PASSED  989.79ms

2.6. Client server access:
  - TSQLHttpServer: 2 assertions passed  4.75ms
     using HTTP API 2.0
  - TSQLHttpClient: 3 assertions passed  28.07ms
     using TSQLHttpClientWinHTTP
  - HTTP client keep alive: 3,087 assertions passed  453.62ms
     4818 B, first 3.09ms, done 424.72ms i.e. 2354/s, aver. 424us, 11.0 MB/s
  - HTTP client multi connect: 3,087 assertions passed  440.44ms
     4818 B, first 687us, done 420.75ms i.e. 2376/s, aver. 420us, 11.1 MB/s
  - HTTP client encrypted: 3,087 assertions passed  469.00ms
     4818 B, first 710us, done 444.21ms i.e. 2251/s, aver. 444us, 10.5 MB/s
  - Named pipe access: 3,089 assertions passed  613.33ms
     4818 B, first 260.78ms, done 143.78ms i.e. 6954/s, aver. 143us, 32.5 MB/s
  - Local window messages: 3,088 assertions passed  104.64ms
     4818 B, first 200us, done 95.86ms i.e. 10431/s, aver. 95us, 48.7 MB/s
  - Direct in process access: 3,056 assertions passed  36.04ms
     4818 B, first 29us, done 27.33ms i.e. 36583/s, aver. 27us, 171.0 MB/s
  - HTTP several DB servers: 9,604 assertions passed  1.35s
     4818 B, first 591us, done 370.49ms i.e. 2699/s, aver. 370us, 12.6 MB/s
     4818 B, first 559us, done 413.06ms i.e. 2420/s, aver. 413us, 11.3 MB/s
     4818 B, first 481us, done 342.35ms i.e. 2920/s, aver. 342us, 13.6 MB/s
  Total failed: 0 / 28,103  - Client server access PASSED  3.51s

2.7. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  541us
  - Service initialization: 243 assertions passed  2.39ms
  - Direct call: 520,386 assertions passed  31.13ms
  - Server side: 520,406 assertions passed  31.50ms
  - Client side REST: 693,874 assertions passed  513.02ms
  - Client side REST result as object: 693,868 assertions passed  524.12ms
  - Client side REST sessions stats: 693,868 assertions passed  530.95ms
  - Client side REST locked: 693,872 assertions passed  585.81ms
  - Client side REST main thread: 693,872 assertions passed  4.24s
  - Client side REST background thread: 693,872 assertions passed  2.03s
  - Client side REST weak authentication: 693,868 assertions passed  602.41ms
  - Client side REST basic authentication: 693,868 assertions passed  980.41ms
  - Client side REST custom record layout: 693,868 assertions passed  782.21ms
  - Client side JSONRPC: 693,868 assertions passed  583.48ms
  - Test over HTTP: 6,825 assertions passed  675.87ms
  - Security: 135 assertions passed  1.77ms
  - Mocks and stubs: 30,029 assertions passed  61.40ms
  Total failed: 0 / 8,016,778  - Service oriented architecture PASSED  12.19s

2.8. External database:
  - TQuery: 2,003 assertions passed  4.86ms
  - SynDBRemote: 30,095 assertions passed  257.27ms
  - External records: 2 assertions passed  604us
  - Auto adapt SQL: 543 assertions passed  41.92ms
  - Crypted database: 253,275 assertions passed  160.66ms
  - External via REST: 170,354 assertions passed  10.10s
  - External via virtual table: 170,354 assertions passed  10.30s
  - External via REST with change tracking: 180,454 assertions passed  11.36s
  - JET database: 7,007 assertions passed  655.58ms
  Total failed: 0 / 814,087  - External database PASSED  32.90s

2.9. Multi thread process:
  - Create thread pool: 1 assertion passed  2.30ms
  - TSQLRestServerDB: 4,822 assertions passed  93.09ms
     1=33958/s  2=36248/s  5=21189/s  10=25933/s  30=29392/s  50=33641/s
  - TSQLRestClientDB: 4,821 assertions passed  190.31ms
     1=20069/s  2=14997/s  5=25143/s  10=19883/s  30=13556/s  50=5838/s
  - TSQLRestClientURINamedPipe: 2,412 assertions passed  1.50s
     1=1292/s  2=1108/s  5=635/s
  - TSQLRestClientURIMessage: 3,222 assertions passed  240.70ms
     1=5720/s  2=8494/s  5=7680/s  10=6631/s
  - Windows API: 4,820 assertions passed  509.89ms
     1=3054/s  2=4971/s  5=5859/s  10=5395/s  30=6568/s  50=5274/s
!  - Socket API: 67 / 3,929 FAILED  299.97ms
     1=6059/s  2=5968/s  5=10540/s  10=9209/s  30=11338/s  50=11243/s
  - Locked: 4,822 assertions passed  204.94ms
     1=21361/s  2=15023/s  5=18645/s  10=18374/s  30=9699/s  50=6090/s
  - Unlocked: 4,822 assertions passed  172.80ms
     1=24861/s  2=7490/s  5=14340/s  10=12444/s  30=22691/s  50=23983/s
  - Background thread: 4,822 assertions passed  132.90ms
     1=27586/s  2=23292/s  5=19597/s  10=16947/s  30=18132/s  50=15529/s
  - Main thread: 4,822 assertions passed  133.25ms
     1=13676/s  2=21315/s  5=22158/s  10=19970/s  30=21895/s  50=21249/s
  Total failed: 67 / 43,315  - Multi thread process FAILED  3.49s

2.10. DDD shared units:
  - User model: 3,269 assertions passed  627us
  - Authentication model: 20,006 assertions passed  116.52ms
  Total failed: 0 / 23,275  - DDD shared units PASSED  120.28ms


Using mORMot 1.18.992 FTS3
Running on wEight_64 with code page 1252
TSQLite3LibraryStatic 3.8.8.3 with internal MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 86.13s
Tests performed at 28.02.2015 11:59:13

Total assertions failed for all test suits:  68 / 17,812,575
! Some tests FAILED: please correct the code.


Rad Studio 12.1 Santorini

Offline

Board footer

Powered by FluxBB