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's の拡張深度階層機能を持つケース名 をサポートしていません。

エスケープは次のように行われます。

  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