Delphi-mORMot:安装出错.UTF8测试的自动测试错误!我该如何解决这个问题



我将mORMot文件夹添加到Delphi的库中,并通过在Folder SQLite3中运行TestSQL3来测试它是否正常工作。它在UTF8 上显示错误

!-UTF8:140000/109992失败1.15s

我该如何解决这个问题?请帮忙!!提前谢谢。

Synapse mORMot框架自动测试


  1. Synapse库

1.1.低水平常见:

  • 系统复制记录:162个断言通过108us
  • TRawUTF8列表:190172个断言通过61.62ms
  • TDynArray:1092815个断言通过137.96ms
  • TDynArrayHashed:1599067个断言通过了1.09
  • TSynDictionary:139850个断言通过324.01ms
  • TSynQueue:6541501个断言通过215.78ms
  • TObjectListHashed:2996100个断言通过了1.49
  • TObjectListSorted:79912个断言通过51.59ms
  • TSynNameValue:40032个断言通过5.54ms
  • TRawUTF8实习:2000013个断言通过122.39ms500000在40.91ms内,即12219262/s,平均8KB。0 us,186.4 MB/s500000直接7.6 MB,12.76ms,即39175742/s,平均值。0us,597.7 MB/s
  • TObjectDynArrayWrapper:167501个断言通过13.25ms
  • TObjArray:3230个断言通过1.72ms
  • 自定义RTL:77552个断言通过130.56ms、12.7 GB/s的FillChar移动速度4.51ms,3.4 GB/s小型移动5.86ms,3.7 GB/s在106.81ms、3.6 GB/s中实现大移动FillCharFast[],33.54ms,11.5 GB/s以3.61ms、4.3 GB/s的速度快速移动[]小型MoveFast[],5.76ms,3.8 GB/sbig MoveFast[],105.27ms,3.7 GB/s
  • 快速字符串比较:71个断言通过268us
  • IdemPropName:216个断言通过207us
  • Url编码:152个断言通过1.08ms
  • GUID:10007个断言通过2.75ms
  • ParseCommandArguments:232个断言通过370us
  • IsMatch:4250个断言通过2.27ms
  • TExprParserMatch:140个断言通过663us
  • Soundex:35个断言通过518us
  • 数字转换:2545159个断言通过351.35ms16.49ms内100000 FloatToText,即6062443/s,平均值。0 us,109.9 MB/s23.31ms内100000 str,即4290004/s,平均值。0 us,94 MB/s18.31ms内100000 DoubleToShort,即5460899/s,平均值。0us,99 MB/s
  • 整数:33860个断言通过48.08ms
  • crc32c:290087个断言通过80.93mspas 286.7 MB/s快速2.4 GB/s sse42 4.1 GB/s
  • Random32:201002断言通过25.81ms
  • Bloom过滤器:2010072个断言通过128.92ms
  • DeltaCompress:87个断言通过6.38ms
  • Curr 64:20056断言通过183毫秒
  • CamelCase:11个断言通过116us
  • 位:22985个断言通过14.47ms
  • Ini文件:7028个断言通过188.97ms!-UTF8:140000/109992失败1.15s
  • Url解码:1101个断言通过561us
  • Baudot代码:10007个断言通过21.87ms
  • Iso8601日期和时间:200831个断言通过16.80ms
  • 时区:408个断言通过212.13ms
  • Mime类型:30个断言通过651us
  • 快速选择:4015个断言通过124.33ms
  • TSynTable:875个断言通过2.34ms
  • TSynCache:404断言传递404us
  • TSynFilter:1005个断言通过2.57ms
  • TSynValidate:677个断言通过774us
  • TSynLogFile:49个断言通过977us
  • TSynUniqueIdentifier:1300002个断言通过515.62ms总计失败:14000/22692553-低级通用失败7.45s

Windows 10 64位(10.0.18362)(cp874)8 x Intel(R)Core(TM)i5-9300H CPU@2.40GHz(x86)使用mORMot 1.18.6102TSQLite3LibraryStatic3.32.3与内部MM生成:Delphi10.3Rio 32位编译器

所有测试所用时间:2m29执行时间:2020-08-06 23:58:11LENOVO在LAPTOP-BED954TL 上

所有测试服的断言失败总数:14000/45919717!某些测试失败:请更正代码。

完成-按ENTER键退出

回归测试有一个限制。

正如您的输出状态:

Windows 10 64bit (10.0.18362) (cp874)

您使用的系统代码页为874。

在一些测试中,一些UTF-8到WinAnsi(也称为代码页1252)是通过AnsiString类型执行的,并且一些字符可能在您自己的代码页中丢失。

因此,报告了一些测试失败。

由于当前测试的某些限制,这是一个假阳性错误。我将来会尽量避免这样的问题。

如果您可以编译TestSQL3,那么您的安装很可能是正确的,并且它将按预期与内部UTF-8内容一起工作(mORMot在内部与UTF-8 JSON一起工作以避免不必要的转换),并且通过UTF8ToString/StringToUTF8()函数可以安全地使用常规的VCLstring类型,即UTF-16。

相关内容

  • 没有找到相关文章

最新更新