2017-08-31 11 views
1

使用するカスタムV93Kテストメソッドには、Rubyで禁止されている文字を持つパラメータ名があります。たとえば:V93kテストメソッドのパラメータ名と禁止されたRuby文字

testmethodparameters 

tm_1: 
    "ComponentRule.ComponentRuleNameVariable" = "ComponentRuleMinConfig"; 
    "ComponentRule.ExecuteRules" = "true"; 
    "ComponentRule.RuleGroupNameVariable" = "ComponentRuleGroupName"; 
    "ComponentRule.ScriptNameVariable" = "ComponentRuleScriptName"; 
    "Softset.NumberOfPatternInfo" = "1"; 
    "Softset.PatternInfo0.EdgesPerVector" = "2"; 

私は原産地がV93Kで必要とされるキャメルケースにRubyのスタイル変数を変換することがわかり、Origen V93k docsを見ると、それはそれで実際の周期で変数を扱うでしょうか?私はOrigen :: Parameters :: Setクラスを使用してそれらを格納していますが、正しいパラメータ名を取得するには、いくつかの 'パラメータ名平坦化'メソッドを記述する必要があります。

params.bist.Softset.PatternInfo0.EdgesPerVector = "2" 
params.bist.Softset.PatternInfo0.FuseProgramming = "false" 

私はこのメソッドを記述する前に、Origenはすでにドキュメントの一部ではないこのケースを既に処理していますか?もしそうでなければ、PRはうまく受け取りますか?それは、C++、パラメータ名にピリオドを扱うでしょう

THX

答えて

0

は、the example hereは 'An.UnusualName' と呼ばれるパラメータが含まれています。

あなたはこのそれはテストの流れの中にそのままレンダリングされるように文字列を経由して、パラメータ名を指定:あなたはに期間を変換する必要があるもののインタフェースでこれに値を割り当てるには

tm_1: 
    "An.UnusualName" = "blah" 

これはをサポートするために、その場で充填剤オブジェクトを生成するために、有意な合併症を追加し

t = test_methods.my_lib.my_test 
t.an_unusual_name = "blah" 
t.An_UnusualName    # => "blah" 

:下線は、原産地は、完全下ケーシングと下線アクセッサとアンダースコアに変換のみの期間と、一の両方を作成しますと私はそれが価値があるとは思わない - 既存のAPIは人間にとっては大丈夫です。

名前をピリオドで付けるとスクリプト化するほうが望ましいかもしれません。 必要とされているものを提供することになるより簡単なアプローチがthis classにSET_PARAM方法または類似を追加することです:

t.set_param("An.UnusualName", "blah") 
+0

[OK]を感謝Ginty。私は私のテストメソッドparamsで少し遊び、それがどのように揺れるのかを見ていきます。このジレンマは私に、Origen :: Parameterを解凍するために私の最初の再帰メソッドをしばらく書いてしまう原因となっていました。テストメソッドの正しい構文に設定してください。 –

関連する問題