You are not logged in.
Pages: 1
Hi,
I have this error when I try to run the regression tests (See 2.8)
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 545us
- TRawUTF8List: 110,007 assertions passed 44.07ms
- TDynArray: 1,027,709 assertions passed 120.64ms
- TDynArrayHashed: 1,200,629 assertions passed 86.30ms
- TObjectListHashed: 999,871 assertions passed 334.07ms
- TObjectDynArrayWrapper: 167,501 assertions passed 14.31ms
- Fast string compare: 7 assertions passed 293us
- IdemPropName: 30 assertions passed 157us
- Url encoding: 132 assertions passed 1.14ms
- GUID: 9,007 assertions passed 3.67ms
- IsMatch: 599 assertions passed 304us
- Soundex: 35 assertions passed 262us
- Numerical conversions: 1,115,346 assertions passed 233.29ms
- crc32c: 30,030 assertions passed 68.70ms
pas 25.24ms 236.3 MB/s fast 2.91ms 2.0 GB/s sse42 1.29ms 511.3 MB/s
- Curr 64: 20,053 assertions passed 957us
- CamelCase: 11 assertions passed 136us
- Bits: 4,774 assertions passed 157us
- Ini files: 7,004 assertions passed 13.93ms
- UTF8: 81,128 assertions passed 948.53ms
- Iso 8601 date and time: 36,015 assertions passed 4.17ms
- Url decoding: 1,100 assertions passed 615us
- Mime types: 23 assertions passed 605us
- TSynTable: 875 assertions passed 3.29ms
- TSynCache: 404 assertions passed 389us
- TSynFilter: 1,005 assertions passed 2.58ms
- TSynValidate: 677 assertions passed 1.00ms
- TSynLogFile: 42 assertions passed 1.04ms
Total failed: 0 / 4,814,036 - Low level common PASSED 1.89s
1.2. Low level types:
- RTTI: 58 assertions passed 749us
- Url encoding: 200 assertions passed 1.03ms
- Encode decode JSON: 302,513 assertions passed 103.14ms
- Variants: 5 assertions passed 487us
- Mustache renderer: 142 assertions passed 1.64ms
- TDocVariant: 71,670 assertions passed 97.02ms
- BSON: 245,048 assertions passed 2.60ms
- TSynTableStatement: 205 assertions passed 421us
Total failed: 0 / 619,841 - Low level types PASSED 212.80ms
1.3. Big table:
- TSynBigTable: 19,177 assertions passed 47.53ms
- TSynBigTableString: 16,072 assertions passed 18.63ms
- TSynBigTableMetaData: 475,563 assertions passed 1.14s
- TSynBigTableRecord: 375,563 assertions passed 2.68s
Total failed: 0 / 886,375 - Big table PASSED 3.89s
1.4. Synopse PDF:
- TPdfDocument: 4 assertions passed 4.66ms
- TPdfDocumentGDI: 8 assertions passed 446.45ms
Total failed: 0 / 12 - Synopse PDF PASSED 453.91ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 728us
- MD5: 1 assertion passed 573us
- SHA1: 5 assertions passed 601us
- SHA256: 5 assertions passed 571us
- AES256: 16,815 assertions passed 355.82ms
- RC4: 1 assertion passed 288us
- Base64: 11,994 assertions passed 120.03ms
- CompressShaAes: 1,683 assertions passed 2.02ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 486.45ms
1.6. Compression:
- In memory compression: 12 assertions passed 300.38ms
- GZIP format: 19 assertions passed 570.64ms
- ZIP format: 54 assertions passed 1.71s
- SynLZO: 3,006 assertions passed 85.28ms
- SynLZ: 30,219 assertions passed 535.07ms
Total failed: 0 / 33,310 - Compression PASSED 3.20s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 155.50ms
- Virtual table direct access: 12 assertions passed 1.05ms
- TSQLTableJSON: 111,074 assertions passed 81.88ms
- TSQLRestClientDB: 615,200 assertions passed 10.45s
- Regexp function: 6,016 assertions passed 36.60ms
Total failed: 0 / 742,440 - File based PASSED 10.73s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 156.94ms
- Virtual table direct access: 12 assertions passed 899us
- TSQLTableJSON: 111,074 assertions passed 80.31ms
- TSQLRestClientDB: 615,199 assertions passed 10.74s
- Regexp function: 6,016 assertions passed 41.75ms
Total failed: 0 / 742,437 - File based memory map PASSED 11.02s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 173.81ms
- Virtual table direct access: 12 assertions passed 928us
- TSQLTableJSON: 111,074 assertions passed 79.03ms
- TSQLRestClientDB: 615,200 assertions passed 10.56s
- Regexp function: 6,016 assertions passed 27.46ms
Total failed: 0 / 742,440 - File based WAL PASSED 10.84s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 150.38ms
- Virtual table direct access: 12 assertions passed 624us
- TSQLTableJSON: 111,074 assertions passed 80.41ms
- TSQLRestClientDB: 683,507 assertions passed 9.02s
- Regexp function: 6,016 assertions passed 28.91ms
- RTree: 140,000 assertions passed 671.64ms
Total failed: 0 / 950,745 - Memory based PASSED 9.96s
2.5. Basic classes:
- TSQLRecord: 80 assertions passed 521us
- TSQLRecordSigned: 200 assertions passed 2.97ms
- TSQLModel: 3 assertions passed 291us
- TSQLRestServerFullMemory: 782,290 assertions passed 963.21ms
Total failed: 0 / 782,573 - Basic classes PASSED 968.95ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 3.47ms
using HTTP API 2.0
- TSQLHttpClient: 3 assertions passed 17.08ms
using TSQLHttpClientWinHTTP
- HTTP client keep alive: 3,087 assertions passed 342.79ms
4818 B, first 2.62ms, done 326.06ms i.e. 3066/s, aver. 326us, 14.3 MB/s
- HTTP client multi connect: 3,087 assertions passed 303.33ms
4818 B, first 477us, done 284.96ms i.e. 3509/s, aver. 284us, 16.4 MB/s
- HTTP client encrypted: 3,087 assertions passed 332.61ms
4818 B, first 356us, done 318.30ms i.e. 3141/s, aver. 318us, 14.6 MB/s
- Named pipe access: 3,089 assertions passed 723.90ms
4818 B, first 271.97ms, done 243.43ms i.e. 4107/s, aver. 243us, 19.2 MB/s
- Local window messages: 3,088 assertions passed 32.31ms
4818 B, first 69us, done 28.17ms i.e. 35492/s, aver. 28us, 165.9 MB/s
- Direct in process access: 3,056 assertions passed 29.43ms
4818 B, first 28us, done 22.98ms i.e. 43506/s, aver. 22us, 203.4 MB/s
- HTTP several DB servers: 9,604 assertions passed 1.38s
4818 B, first 533us, done 284.53ms i.e. 3514/s, aver. 284us, 16.4 MB/s
4818 B, first 608us, done 445.60ms i.e. 2244/s, aver. 445us, 10.4 MB/s
4818 B, first 621us, done 458.62ms i.e. 2180/s, aver. 458us, 10.1 MB/s
Total failed: 0 / 28,103 - Client server access PASSED 3.18s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 1.30ms
- Service initialization: 243 assertions passed 4.75ms
- Direct call: 589,701 assertions passed 43.89ms
- Server side: 589,720 assertions passed 23.65ms
- Client side REST: 589,725 assertions passed 386.71ms
- Client side REST result as object: 589,719 assertions passed 381.94ms
- Client side REST locked: 589,722 assertions passed 387.39ms
- Client side REST synchronized: 589,722 assertions passed 6.51s
- Client side REST background thread: 589,722 assertions passed 3.26s
- Client side REST weak authentication: 589,719 assertions passed 390.45ms
- Client side http basic authentication: 589,719 assertions passed 498.01ms
- Client side REST custom record layout: 589,719 assertions passed 397.41ms
- Client side JSONRPC: 589,719 assertions passed 433.01ms
- Test over HTTP: 10,130 assertions passed 832.02ms
- Security: 135 assertions passed 1.14ms
- Mocks and stubs: 30,031 assertions passed 38.04ms
Total failed: 0 / 6,527,502 - Service oriented architecture PASSED 13.61s
2.8. External database:
- TQuery: 2,003 assertions passed 5.18ms
- SynDBRemote: 30,095 assertions passed 299.58ms
- External records: 2 assertions passed 486us
- Auto adapt SQL: 543 assertions passed 30.76ms
- Crypted database: 253,275 assertions passed 138.16ms
[ins]
! - External via REST: 21,893 / 170,353 FAILED 1.05s
! - External via virtual table: 21,893 / 170,353 FAILED 1.51s
! - External via REST with change tracking: 22,904 / 180,453 FAILED 2.23s
- JET database: 7,007 assertions passed 798.29ms
Total failed: 66,690 / 814,084 - External database FAILED 6.08s
[/ins]
2.9. Multi thread process:
- Create thread pool: 1 assertion passed 5.63ms
- TSQLRestServerDB: 4,822 assertions passed 88.42ms
1=18272/s 2=41814/s 5=36559/s 10=42996/s 30=25054/s 50=35984/s
- TSQLRestClientDB: 4,822 assertions passed 134.98ms
1=46077/s 2=39757/s 5=39024/s 10=39169/s 30=13662/s 50=6858/s
- TSQLRestClientURINamedPipe: 2,412 assertions passed 1.63s
1=1105/s 2=1200/s 5=544/s
- TSQLRestClientURIMessage: 3,222 assertions passed 338.54ms
1=4027/s 2=6994/s 5=6397/s 10=3645/s
- TSQLHttpClientWinHTTP_HTTPAPI: 4,820 assertions passed 432.18ms
1=2713/s 2=6608/s 5=5561/s 10=9225/s 30=8410/s 50=8942/s
- TSQLHttpClientWinSock_WinSock: 4,822 assertions passed 334.27ms
1=12542/s 2=11113/s 5=6520/s 10=8075/s 30=5537/s 50=5559/s
- Locked: 4,822 assertions passed 105.70ms
1=46339/s 2=39706/s 5=40596/s 10=38077/s 30=13645/s 50=13538/s
- Unlocked: 4,821 assertions passed 98.36ms
1=45714/s 2=21572/s 5=20623/s 10=34231/s 30=34671/s 50=20134/s
- Background thread: 4,821 assertions passed 204.73ms
1=21349/s 2=17585/s 5=10390/s 10=10316/s 30=16384/s 50=7480/s
- Main thread: 4,818 assertions passed 171.14ms
1=39404/s 2=22253/s 5=8532/s 10=10049/s 30=19415/s 50=15063/s
Total failed: 0 / 44,203 - Multi thread process PASSED 3.56s
Using mORMot 1.18.752 FTS3
Running on wSeven_64 with code page 1252
TSQLite3LibraryStatic running 3.8.8.1 with internal MM
Generated with: Delphi XE5 compiler
Time elapsed for all tests: 80.17s
Tests performed at 2015-01-27 01:16:54
Total assertions failed for all test suits: 66,690 / 17,758,606
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exit
Offline
I run windows on a MAC using bootcamp. Maybe that changes something with the internal clock ?
Error lines :
Check(RExt.CreatedAt<=Updated);(SynSelfTests.pas #9231)
Check(RExt.CreatedAt<=Updated); (SynSelfTests.pas #9254)
Fails for tests
! - External via REST: 21,893 / 170,353 FAILED 1.05s
! - External via virtual table: 21,893 / 170,353 FAILED 1.51s
! - External via REST with change tracking: 22,904 / 180,453 FAILED 2.23s
I can't really copy the stack trace, I don't have a tool for that...
What do you mean by data on disk ?
Offline
Concerning the clock, I've previously set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal = 1 to fix some clock synchronization problem between Osx and Windows.
Offline
So Now/NowUTC functions did return a value < another value returned at a previous call?
Pretty weird...
But I guess this is not a mORMot problem...
At which time did it occur?
It may be a TDateTime <-> TTimeLog conversion issue.
Online
I'm not sure it is with synopse. I formatted my HDD and reinstalled Windows 8.1. Reinstalled RAD Studio XE7. Now, I have the same errors on regression tests + TPdfDocument (Test 1.4). Could it be because I'm running on a MacBook with Bootcamp ?
Offline
PDF error occurs at SynSelfTests.pas 7387 : Check(Hash32(MS.Memory,MS.Position)=Hash[embed]);
Value of CreatedAt : 135228614414
Value of Updated : 135228593934
Offline
OK.
The values you are transmitting were the following:
CreateAt: 2015-02-01T14:28:14
Updated: 2015-02-01T09:28:14
So there is exactly a 5 hours switch between the two.
I guess this is your time zone with GMT/UTC, right?
Sounds like if Updated := aExternalClient.ServerTimeStamp retrieved the local time, not the GMT time.
It is weird, because TSQLRest.GetServerTimeStamp uses NowUTC on both client and server side.
Online
For the PDF I suspect this is because your code page is not 1252 any more.
I think I found the root cause of the TTimeLog wrong values.
In fact, TSQLRestStorageExternal.Create do change the server time stamp from the one retrieved from the DB:
// try to connect to the remote DB, and synchronize local Rest time
if Owner<>nil then
try
Owner.ServerTimeStamp := fProperties.ThreadSafeConnection.ServerTimeStamp;
except
on E: Exception do ; // ignore any error here
end;
This was a totally wrong idea.
It worked in our case (i.e. France is UTC+01), but not if the time zone is BEFORE UTC, as in your case is UTC-05!
So I get rid of the whole block.
See http://synopse.info/fossil/info/9355b61606
The reference clock will be the ORM server clock, not the DB clock.
It would be much consistent.
Sorry for the issue!
Online
Timezone settings is really an issue. If I set to Europe/Paris, everything is finally green!
Tested at Win/Linux
Using mORMot 1.18.772 PRTL FTS3
Running on Linux 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:23:46 UTC 2014
TSQLite3LibraryDynamic running 3.8.8.2 with internal MM
Generated with: Kylix 3 compiler
Tests performed at 02-02-2015 15:09:05
Total assertions failed for all test suits: 0 / 15,074,289
! All tests passed successfully.
2.8. External database:
- TQuery: 2,003 assertions passed 29.93ms
- SynDBRemote: 20,063 assertions passed 5.45s
- External records: 2 assertions passed 401us
- Auto adapt SQL: 543 assertions passed 170.40ms
- Crypted database: 176,192 assertions passed 583.67ms
- External via REST: 170,353 assertions passed 63.96s
- External via virtual table: 170,353 assertions passed 70.09s
- External via REST with change tracking: 180,453 assertions passed 71.64s
Total failed: 0 / 719,962 - External database PASSED 211.95s
I don't understand why the tests External DB performed at linux environment, take so long time.
Last edited by warleyalex (2015-02-02 14:19:43)
Offline
Hi, Thanks for replying so quickly. And yes indeed, timezones are such a pain! I will run regression tests and will inform you of the results.
Offline
Pages: 1