我将mORMot文件夹添加到Delphi的库中,并通过在Folder SQLite3中运行TestSQL3来测试它是否正常运行。它显示了UTF8处的错误
! -UTF8:14,000 / 1,099,792失败1.15秒
我该如何解决?请帮忙!!预先谢谢你。
概要mORMot框架自动化测试
- 提要库
1.1。低级常见:
- 系统副本记录:162个断言通过了108us
- TRawUTF8List:190,172个断言传递了61.62ms
- TDynArray:传递了109.96毫秒的1,092,815个断言
- TDynArrayHashed:1,599,067个断言传递了1.09s
- TSynDictionary:139,850条断言传递了324.01ms
- TSynQueue:6,541,501个断言传递了215.78ms
- TObjectListHashed:传递了1.996s的2,996,100个断言
- TObjectListSorted:79,912个断言传递了51.59ms
- TSynNameValue:40,032个断言通过了5.54ms
- TRawUTF8Interning:2,000,013个断言通过了122.39ms 500000以40.91ms间隔8 KB,即平均12,219,262 / s 0us,186.4 MB /秒 500000直接7.6 MB,12.76毫秒,即平均39,175,742 / s 0us,597.7 MB / s
- TObjectDynArrayWrapper:167,501个断言传递了13.25ms
- TObjArray:3,230个断言传递了1.72毫秒
- 自定义RTL:77,552个断言传递了1秒 30.56毫秒,12.7 GB /秒的FillChar 以4.51ms,3.4 GB / s的速度移动 在5.86毫秒内以3.7 GB /秒的速度小移动 106.81ms的大动作,3.6 GB / s FillCharFast []于33.54ms,11.5 GB / s MoveFast []于3.61ms,4.3 GB / s 小MoveFast [],速度为5.76毫秒,每秒3.8 GB 大MoveFast []于105.27ms,3.7 GB / s
- 快速字符串比较:71个断言通过268us
- IdemPropName:216个断言通过了207us
- URL编码:152个断言传递了1.08ms
- GUID:10,007个断言通过了2.75ms
- ParseCommandArguments:370条指令传递了232条断言
- IsMatch:4,250个断言传递了2.27ms
- TExprParserMatch:140个断言通过了663us
- Soundex:35个断言通过了518us
- 数值转换:通过351.35毫秒的2,545,159个断言 100000 FloatToText in 16.49ms,即6,062,443 / s,平均值0us,109.9 MB /秒 100.000 str。23.31ms,即4,290,004 / s,平均0us,94 MB /秒 100000 DoubleToShort在18.31毫秒内,即5,460,899 / s,平均0us,99 MB / s
- 整数:33,860条断言传递了48.08ms
- crc32c:290,087个断言通过了80.93ms pas 286.7 MB / s高速2.4 GB / s sse42 4.1 GB / s
- Random32:201,002个断言传递了25.81ms
- bloom过滤器:2,010,072个断言通过了128.92ms
- DeltaCompress:87个断言通过了6.38ms
- Curr 64:20056条断言通过了1.83ms
- CamelCase:11条断言通过了116us
- 位数:22,985条断言通过了14.47ms
- Ini文件:7,028个断言传递了188.97ms! -UTF8:14,000 / 1,099,792失败1.15秒
- URL解码:1,101个断言传递了561us
- Baudot代码:传递了21.07毫秒的10,007个断言
- ISO 8601日期和时间:200,831条断言通过了16.80ms
- 时区:408个声明通过了212.13ms
- MIME类型:30个断言通过了651us
- 快速选择:4,015个断言传递了124.33ms
- TSynTable:875个断言经过了2.34ms
- TSynCache:404断言传递了404us
- TSynFilter:1,005个断言传递了2.57毫秒
- TSynValidate:677个声明通过了774us
- TSynLogFile:49个断言通过了977us
- TSynUniqueIdentifier:传递了1,300,002个断言515.62ms失败总数:14,000 / 22,692,553-低级别常见失败7.45s
Windows 10 64位(10.0.18362)(cp874) 使用mORMot 1.18.6102的8个Intel(R)Core(TM)i5-9300H CPU @ 2.40GHz(x86) 具有内部MM的TSQLite3LibraryStatic 3.32.3生成于:Delphi 10.3 Rio 32位编译器
所有测试已耗用的时间:2分29秒,由2020-08-06 23:58:11执行 LENOVO在LAPTOP-BED954TL上
所有测试服的总断言失败:14,000 / 45,919,717! 某些测试失败:请更正代码。
完成-按Enter退出
答案 0 :(得分:3)
回归测试有一个限制。
输出状态:
Windows 10 64bit (10.0.18362) (cp874)
您使用的系统带有Code Page 874。
在某些测试过程中,通过AnsiString
类型执行了WinAnsi的UTF-8(又名code page 1252),并且您自己的代码页中可能缺少一些字符。
因此报告了一些测试失败。
由于当前测试的某些限制,这是一个误报错误。将来我会尽量避免此类问题。
如果您可以编译TestSQL3
,则很可能您的安装是正确的,并且可以按预期使用内部UTF-8内容(mORMot在内部与UTF-8一起使用) JSON(以避免不必要的转换)和常规VCL string
类型(即UTF-16)可以通过UTF8ToString/StringToUTF8()
函数安全地使用。