TestIdUtils

public final class TestIdUtils
extends Object

java.lang.Object
   ↳ com.android.tradefed.result.resultdb.utils.TestIdUtils


用于清理 ResultDB 的测试 ID 的实用程序类。

此类是从 ResultDB 代码库复制的,以实现兼容性。

摘要

常量

String JUNIT_PACKAGE_PLACEHOLDER

String PYUNIT_PACKAGE_PLACEHOLDER

公共方法

static String escapeCaseName(String caseName)

将测试用例名称转义为有效的 ResultDB 测试用例名称。

常量

JUNIT_PACKAGE_PLACEHOLDER

public static final String JUNIT_PACKAGE_PLACEHOLDER

常量值: "no-package-name"

PYUNIT_PACKAGE_PLACEHOLDER

public static final String PYUNIT_PACKAGE_PLACEHOLDER

常量值: "__main__"

公共方法

escapeCaseName

public static String escapeCaseName (String caseName)

将测试用例名称转义为有效的 ResultDB 测试用例名称。此转义不支持具有 ResultDB 扩展深度层次结构功能的测试用例名称,该功能将冒号视为测试用例名称各部分的分隔符。

转义按以下方式进行:

  1. 如果测试用例名称包含不可打印的字符、不允许使用的开头字符 ([!"#$%&'()*+,]) 或以“\u2051”结尾,则会进行特殊转义:
    1. 反斜杠 (`\`) 转义为 `\\`。
    2. 如果前导字符属于 [ !"#$%&'()*+,](U+0020 到 U+002C),则会使用反斜杠对其进行转义。
    3. 不可打印的字符会转换为其字面 Unicode 转义序列(\\uXXXX 或 \\UXXXXXXXX)。
    4. 系统会附加一个特殊后缀“\u2051”。
  2. 在第 1 步的结果(如果跳过了第 1 步,则为原始字符串)中,进行以下替换:
    1. 反斜杠 (`\`) 转义为 `\\`。
    2. 冒号 (`:`) 会转义为 `\:`。

这意味着反斜杠可以双重转义。

如果您使用的是 ResultDB 的扩展深度层次结构功能,请勿使用此函数。

此方法是 chrome/engprod/resultdb/go/utils/test_id.goEscapeCaseName 函数的 Java 等效方法。Go UnescapeCaseName 函数的往返功能在 Go 代码库中进行了测试。

参数
caseName String

返回值
String