<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/7.0.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.ExecutionInfo">ExecutionInfo</h1>

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/ExecutionInfoApi.java" %}
{% dynamic setvar version "7.0.0" %}
{% dynamic setvar original_path "/rules/lib/providers/ExecutionInfo" %}
{% include "_buttons.html" %}
<!-- {% raw %} -->

Use this provider to specify special environment requirements needed to run tests.

<h2>Members</h2>
<ul>
    <li>
    <a href="#ExecutionInfo">ExecutionInfo</a>
  </li>
      <li>
    <a href="#exec_group">exec_group</a>
  </li>
      <li>
    <a href="#requirements">requirements</a>
  </li>
      <li>
    <a href="#to_json">to_json</a>
  </li>
      <li>
    <a href="#to_proto">to_proto</a>
  </li>
  </ul>

      <h2 id="ExecutionInfo">ExecutionInfo</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../providers/ExecutionInfo.html">ExecutionInfo</a> ExecutionInfo(requirements={}, exec_group='test')</pre></p>

    Creates an instance.

          <!-- hide-from-toc is a class used by DevSite for the public Bazel site
      (https://developers.google.com/devsite/reference/styles/headings#hide_headings_from_the_toc) -->
      <h3 class="hide-from-toc">Parameters</h3>
      <table class="table table-bordered table-condensed table-params">
        <colgroup>
          <col class="col-param">
          <col class="param-description">
        </colgroup>
        <thead>
          <tr>
            <th>Parameter</th>
            <th>Description</th>
          </tr>
        </thead>
        <tbody>
                  <tr>
            <td id="ExecutionInfo.requirements">
              <code>requirements</code>
            </td>
            <td>
                          <a class="anchor" href="../core/dict.html">dict</a>;
                                     default is <code>{}</code><br/>
                          A dict indicating special execution requirements, such as hardware platforms.
            </td>
          </tr>
                  <tr>
            <td id="ExecutionInfo.exec_group">
              <code>exec_group</code>
            </td>
            <td>
                          <a class="anchor" href="../core/string.html">string</a>;
                                     default is <code>'test'</code><br/>
                          The name of the exec group that is used to execute the test.
            </td>
          </tr>
                </tbody>
      </table>

        <h2 id="exec_group">exec_group</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../core/string.html">string</a> ExecutionInfo.exec_group</pre></p>

    The name of the exec group that is used to execute the test.


        <h2 id="requirements">requirements</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../core/dict.html">dict</a> ExecutionInfo.requirements</pre></p>

    A dict indicating special execution requirements, such as hardware platforms.


        <h2 id="to_json">to_json</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../core/string.html">string</a> ExecutionInfo.to_json()</pre></p>

    <b>Deprecated</b>. This API is deprecated and will be removed soon. Please do not depend on it. It is <i>disabled</i> with <code>---incompatible_struct_has_no_methods</code>. Use this flag to verify your code is compatible with its imminent removal. <br>Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:<br><pre class=language-python>struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
</pre>.<p>Deprecated: instead, use json.encode(x) or json.encode_indent(x), which work for values other than structs and do not pollute the struct field namespace.


        <h2 id="to_proto">to_proto</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../core/string.html">string</a> ExecutionInfo.to_proto()</pre></p>

    <b>Deprecated</b>. This API is deprecated and will be removed soon. Please do not depend on it. It is <i>disabled</i> with <code>---incompatible_struct_has_no_methods</code>. Use this flag to verify your code is compatible with its imminent removal. <br>Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:<br><pre class=language-python>struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }
</pre><p>Deprecated: use proto.encode_text(x) instead.



</body>
</html>

<!-- {% endraw %} -->
