zoukankan      html  css  js  c++  java
  • chrome单元测试 单独编译 chromium的Gtest

    D:develectron7src>ninja -C out/Testing net_unittests
    outTesting et_unittests.exe --gtest_filter=*HttpContentDispositionTest.Filename*



    运行:
    out/Debug/net_unittest​s --gtest_filter=*DiskCacheBackendTest.SparseEvict*

    测试源码:

    1. chromium的C++ unit test是所谓的GTest
    2. 然后我们就去搜这个文件的名字,看看它在哪个gn target,发现这个东西是net_unittest的一部分。也可以查找本地机器上源码,搜索*.gn,找到它的gn target目录。
    3. 或者可以:获取所有构建目标:
    4. gn ls out/Default
    5. 比如:
      //chrome/test:unit_tests

    6. 构建这个目标,去掉//:
      ninja -C out/Default chrome/test:unit_tests
    7. 最后运行test unit
      1. out/Debug/net_unittest​ --gtest_filter=*DiskCacheBackendTest.SparseEvict*
      2. outDefaultunit_tests.exe --gtest_filter="PushClientTest.*" 

    (std中字符串字面常量,任意字符串都可以作为分割符:std:string s=fffxxxhahaha i'am here. she said:" no!"fffxxx

    这里fffxxx是字符串的表示。

    )

    大概思路就是这样,至于具体能不能跑,可以参考一下chromium的这个文档。

    您可以在GitHub页面上找到有关GoogleTest的更多信息。
     
     
    gn args outDefault 
    
    gn gen outDefault --ide=vs2017 --fillter="//base:*;//chrome:*;//components:*;//net:*;//net:*;" --sln=chrome --no-deps
    
    ninja -C outDefault chrome
    
    #单元测试编译
    ninja -C outDefault chrome	est:unit_tests

    报错:

    D:develectron7src>outTesting
    et_unittests.exe --gtest_filter=*HttpContentDispositionTest.Filename*
    ERROR: This build is more than 70 days out of date.
    This could indicate a problem with the device's clock, or the build is simply too old.
    See crbug.com/666821 for why this is a problem
        base::Time::Now() --> 2020-09-21 03:04:09.533 UTC (13245131049533601)
        base::GetBuildTime() --> 2020-06-07 05:00:00.000 UTC (13235979600000000)

    改了系统时间好了

  • 相关阅读:
    testDecoration
    python装饰器详解
    开闭原则, 对扩展开放、对修改关闭
    使用元类 编写ORM
    Python 实现累加计数的几种方法
    python 查找目录下 文件名中含有某字符串的文件
    android应用程序的混淆打包规范
    自定义Tabs
    android-Service
    Loader异步装载器
  • 原文地址:https://www.cnblogs.com/bigben0123/p/13704224.html
Copyright © 2011-2022 走看看