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.go 中的 EscapeCaseName 函式。Go 程式碼集會測試 Go UnescapeCaseName 函式的往返功能。

參數
caseName String

傳回
String