7.13 ユースケーススクリプトの options メソッドの定義

各ユースケースには、ユースケースの実行時に指定される値を設定するために特定のユースケースに対するコマンドラインで指定可能な値のセットを指定するオプションのリストが含まれています。

オプションを定義する場合、オプションをグループ化またはネストして、より多くのオプションの説明のセットを整理および指定できます。
オプションを指定するメソッドは、ユースケース定義ブロック内の $Options$ タグで定義されます。$Options$ タグは、オプションの 1 つのリストを返すスクリプトのメソッドの名前を指定します。

例 7-9 例

...
$Options$ myOptions
...
def myOptions():
      return [ <オプションのリスト> ]
オプションを提供する関数が引数を取得せず、以下と同じ形式でオプションのリストを返すことが重要です。$Options$ タグが定義され、このタグで名前が付けられた関数がスクリプトに存在しないか、オプションを提供するために使用された関数が引数を取得する場合、スクリプトの実行時にエラーが発生します。
ユースケーススクリプトのオプションを定義するために使用できるオプションの種類は、以下の 5 種類です。以下にその出力セクションを示します。
  • UseCaseScript.booleanOption.
  • UseCaseScript.enumOption.
  • UseCaseScript.radioEnumOption.
  • UseCaseScript.integerOption.
  • UseCaseScript.stringOption.
これらのすべてのオプションで、以下が必要です。
  • 変数名。ユースケーススクリプトでオプションを参照するために使用されます。
  • 表示名。
  • デフォルト値。定義されたオプションと同じ型である必要があります。
UseCaseScript.booleanOption
boolean を説明します。指定できる値は True または False です。
UseCaseScript.integerOption
4、99、100001 などの整数値全体を説明します。すべてのオプションで要求されるフィールドに加えて、このオプションで許可される整数の範囲を制限する最小値および最大値を指定できます。また、整数オプションの出力形式を 10 進数 (基数 10) または 16 進数 (基数 16) で定義できます。
UseCaseScript.stringOption
現在のシステムの Coresight コンポーネントを名前で参照する場合などに使用できる traceCaptureetmv4 などの文字列を説明します。
UseCaseScript.enumOption
UseCaseScript.radioEnumOption
両方のオプションとも、列挙を説明します。これらは、このオプションで許可される値のリストを説明するために使用されます。列挙値は、文字列または整数です。

例 7-10 例

UseCaseScript.booleanOption(name=“timestamps”, displayName=“Enable global timestamping, defaultValue=True)
デフォルトで True である boolean オプション “timestamps” を定義します。
UseCaseScript.stringOption(name=“traceBuffer”, “Trace Capture Method”, defaultValue=”none”)
デフォルト値が “none” の文字列オプション “traceBuffer” を定義します。
UseCaseScript.integerOption(name=“cores”, displayName=“Number of cores”, defaultValue=1, min=1, max=16, format=UseCaseScript.DEC)
デフォルト値が 1、最小値が 1、および最大値が 16 の整数オプション “cores” を定義します。出力形式は 10 進数 (基数 10) です。
UseCaseScript.integerOption(name=“retries”, displayName=“Attempts to retry”, defaultValue=5, min=1, format=UseCaseScript.HEX)
デフォルト値が 5、最小値が 1、および最大値がなしの整数オプション “retries” を定義します。出力は 16 進数 (基数 16) です。
UseCaseScript.enumOption(name=“contextid”, displayName=“Context ID Size”,  values = [(“8”, “8 bits”), (“16”, “16 bits”), (“32”, “32 bits)] , defaultValue=”32”)
デフォルト値が “32” の列挙 “contextid” を定義します。値は列挙のメンバ “8”、“16”、または “32” に制限されます。

ネストのオプション

以下を使用してオプションを構成またはグループ化できます。
  • UseCaseScript.tabSet.
  • UseCaseScript.tabPage.
  • UseCaseScript.infoOption.
  • UseCaseScript.optionGroup.
グループは値に関連付けられず、デフォルトが不要です。オプション名を持つグループを使用して、オプションの完全なセットを作成できます。
オプションのネストを指定するには、各オプションで、このオプションの範囲でネストされる他のオプションのリストであるオプションの childOptions キーワードを含めます。ネストされたオプションのセットの例を以下に示します。

例 7-11 例

以下の例はオプションメソッドで、オプションのセットを含んでいます。
def myOptions():
      return [
          UseCaseScript.optionGroup(
          name="options",
          displayName="Usecase Options",
          childOptions=[
              UseCaseScript.optionGroup(
                  name="connection",
                  displayName="Connection Options",
                  childOptions=[
                      UseCaseScript.integerOption(
                         name="cores",
                         displayName="Number of cores",
                         defaultValue=1,
                         min=1,
                         max=16),
                      UseCaseScript.stringOption(
                         name="traceBuffer",
                         displayName="Trace Capture Method",
                         defaultValue="none"),
                  ]
              ),
              UseCaseScript.enumOption(
              name="contextID",
              displayName="Context ID Size",
              values = [("8", "8 bits"), ("16", "16 bits"), ("32", "32 bits")] ,
              defaultValue="32"),
              ]
          ),
      ]
      
オプションは、オプションのリスト内でのネスト方法に従ってアクセスされます。この例では、2 つの子オプションを持つ options という名前のグループが存在します。
options.contextID
これはオプショングループ内の列挙で、この例では contextID の値を格納します。
options.connection
これはネストオプションの別のグループです。どの値も格納されません。以下のオプションが含まれます。
options.connection.cores
これは cores 変数にアクセスする整数です。
options.connection.traceBuffer
これは、オプションのリスト内の traceBuffer 変数にアクセスする文字列です。

スクリプトでのオプションの使用

エントリポイントおよび検証関数は両方とも、必要な最初のパラメータとして、options オブジェクトを取得します。これは、オプション値を取得および設定するために使用されます。定義済みオプションで機能するように指定された関数は getOptionValue(<name>) および setOptionValue(<name>, <value>) です。
オプションの name については、group.subgroup.variable などのフルネームを使用します。value は、列挙の文字列、整数、またはメンバなど、適切な型の名前付き変数である必要があります。
オプションのフルネームを見つけるには、ユースケーススクリプトでオプションの定義を確認するか、コマンドラインで usecase help <script_name>.py を発行します。

DTSL オプション

オプションは、同じパラメータおよび子オプションをネストする方法を使用して、デバッグおよびトレースサービスレイヤ (DTSL) オプションと似た方法で定義されます。
オプションのリストを構築する方法の詳細については、「15.6 DTSL オプション」および DS-5 インストールのユースケーススクリプトの例を参照して下さい。
非機密扱いPDF file icon PDF 版ARM DUI0446WJ
Copyright © 2010-2015 ARM.All rights reserved.