Class: Google::Apis::ToolresultsV1beta3::Environment
- Inherits:
-
Object
- Object
- Google::Apis::ToolresultsV1beta3::Environment
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/toolresults_v1beta3/classes.rb,
generated/google/apis/toolresults_v1beta3/representations.rb,
generated/google/apis/toolresults_v1beta3/representations.rb
Overview
An Environment represents the set of test runs (Steps) from the parent Execution that are configured with the same set of dimensions (Model, Version, Locale, and Orientation). Multiple such runs occur particularly because of features like sharding (splitting up a test suite to run in parallel across devices) and reruns (running a test multiple times to check for different outcomes).
Instance Attribute Summary collapse
-
#completion_time ⇒ Google::Apis::ToolresultsV1beta3::Timestamp
A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution.
-
#creation_time ⇒ Google::Apis::ToolresultsV1beta3::Timestamp
A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution.
-
#dimension_value ⇒ Array<Google::Apis::ToolresultsV1beta3::EnvironmentDimensionValueEntry>
Dimension values describing the environment.
-
#display_name ⇒ String
A short human-readable name to display in the UI.
-
#environment_id ⇒ String
Output only.
-
#environment_result ⇒ Google::Apis::ToolresultsV1beta3::MergedResult
Merged test result for environment.
-
#execution_id ⇒ String
Output only.
-
#history_id ⇒ String
Output only.
-
#project_id ⇒ String
Output only.
-
#results_storage ⇒ Google::Apis::ToolresultsV1beta3::ResultsStorage
The storage for test results.
-
#shard_summaries ⇒ Array<Google::Apis::ToolresultsV1beta3::ShardSummary>
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Environment
constructor
A new instance of Environment.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Environment
Returns a new instance of Environment.
716 717 718 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 716 def initialize(**args) update!(**args) end |
Instance Attribute Details
#completion_time ⇒ Google::Apis::ToolresultsV1beta3::Timestamp
A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one. All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap second table is needed for interpretation, using a 24-hour linear smear. The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
Examples
Example 1: Compute Timestamp from POSIX time()
.
Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
Example 2: Compute Timestamp from POSIX gettimeofday()
.
struct timeval tv; gettimeofday(&tv, NULL);
Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
tv_usec * 1000);
Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime()
.
FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
dwHighDateTime) << 32) | ft.dwLowDateTime;
// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
Example 4: Compute Timestamp from Java System.currentTimeMillis()
.
long millis = System.currentTimeMillis();
Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
setNanos((int) ((millis % 1000) * 1000000)).build();
Example 5: Compute Timestamp from current time in Python.
timestamp = Timestamp() timestamp.GetCurrentTime()
JSON Mapping
In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is "year
-
month
-day
Thour
:min
:sec
[.frac_sec
]Z" where year
is always
expressed using four digits while month
, day
, hour
, min
, and sec
are
zero-padded to two digits each. The fractional seconds, which can go up to 9
digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
serializer should always use UTC (as indicated by "Z") when printing the
Timestamp type and a proto3 JSON parser should be able to accept both UTC and
other timezones (as indicated by an offset).
For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
January 15, 2017.
In JavaScript, one can convert a Date object to this format using the standard
toISOString() method. In Python, a standard
datetime.datetime
object can be converted to this format using strftime
with the time
format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
Time's ISODateTimeFormat.dateTime()
to obtain a
formatter capable of generating timestamps in this format.
Corresponds to the JSON property completionTime
602 603 604 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 602 def completion_time @completion_time end |
#creation_time ⇒ Google::Apis::ToolresultsV1beta3::Timestamp
A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one. All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap second table is needed for interpretation, using a 24-hour linear smear. The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
Examples
Example 1: Compute Timestamp from POSIX time()
.
Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
Example 2: Compute Timestamp from POSIX gettimeofday()
.
struct timeval tv; gettimeofday(&tv, NULL);
Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
tv_usec * 1000);
Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime()
.
FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
dwHighDateTime) << 32) | ft.dwLowDateTime;
// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
Example 4: Compute Timestamp from Java System.currentTimeMillis()
.
long millis = System.currentTimeMillis();
Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
setNanos((int) ((millis % 1000) * 1000000)).build();
Example 5: Compute Timestamp from current time in Python.
timestamp = Timestamp() timestamp.GetCurrentTime()
JSON Mapping
In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is "year
-
month
-day
Thour
:min
:sec
[.frac_sec
]Z" where year
is always
expressed using four digits while month
, day
, hour
, min
, and sec
are
zero-padded to two digits each. The fractional seconds, which can go up to 9
digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
serializer should always use UTC (as indicated by "Z") when printing the
Timestamp type and a proto3 JSON parser should be able to accept both UTC and
other timezones (as indicated by an offset).
For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
January 15, 2017.
In JavaScript, one can convert a Date object to this format using the standard
toISOString() method. In Python, a standard
datetime.datetime
object can be converted to this format using strftime
with the time
format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
Time's ISODateTimeFormat.dateTime()
to obtain a
formatter capable of generating timestamps in this format.
Corresponds to the JSON property creationTime
659 660 661 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 659 def creation_time @creation_time end |
#dimension_value ⇒ Array<Google::Apis::ToolresultsV1beta3::EnvironmentDimensionValueEntry>
Dimension values describing the environment. Dimension values always consist of "Model", "Version", "Locale", and "Orientation".
- In response: always set - In create request: always set - In update request:
never set
Corresponds to the JSON property
dimensionValue
667 668 669 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 667 def dimension_value @dimension_value end |
#display_name ⇒ String
A short human-readable name to display in the UI. Maximum of 100 characters.
For example: Nexus 5, API 27.
Corresponds to the JSON property displayName
673 674 675 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 673 def display_name @display_name end |
#environment_id ⇒ String
Output only. An Environment id.
Corresponds to the JSON property environmentId
678 679 680 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 678 def environment_id @environment_id end |
#environment_result ⇒ Google::Apis::ToolresultsV1beta3::MergedResult
Merged test result for environment.
If the environment has only one step (no reruns or shards), then the merged
result is the same as the step result. If the environment has multiple shards
and/or reruns, then the results of shards and reruns that belong to the same
environment are merged into one environment result.
Corresponds to the JSON property environmentResult
687 688 689 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 687 def environment_result @environment_result end |
#execution_id ⇒ String
Output only. An Execution id.
Corresponds to the JSON property executionId
692 693 694 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 692 def execution_id @execution_id end |
#history_id ⇒ String
Output only. A History id.
Corresponds to the JSON property historyId
697 698 699 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 697 def history_id @history_id end |
#project_id ⇒ String
Output only. A Project id.
Corresponds to the JSON property projectId
702 703 704 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 702 def project_id @project_id end |
#results_storage ⇒ Google::Apis::ToolresultsV1beta3::ResultsStorage
The storage for test results.
Corresponds to the JSON property resultsStorage
707 708 709 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 707 def results_storage @results_storage end |
#shard_summaries ⇒ Array<Google::Apis::ToolresultsV1beta3::ShardSummary>
Output only. Summaries of shards.
Only one shard will present unless sharding feature is enabled in
TestExecutionService.
Corresponds to the JSON property shardSummaries
714 715 716 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 714 def shard_summaries @shard_summaries end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
721 722 723 724 725 726 727 728 729 730 731 732 733 |
# File 'generated/google/apis/toolresults_v1beta3/classes.rb', line 721 def update!(**args) @completion_time = args[:completion_time] if args.key?(:completion_time) @creation_time = args[:creation_time] if args.key?(:creation_time) @dimension_value = args[:dimension_value] if args.key?(:dimension_value) @display_name = args[:display_name] if args.key?(:display_name) @environment_id = args[:environment_id] if args.key?(:environment_id) @environment_result = args[:environment_result] if args.key?(:environment_result) @execution_id = args[:execution_id] if args.key?(:execution_id) @history_id = args[:history_id] if args.key?(:history_id) @project_id = args[:project_id] if args.key?(:project_id) @results_storage = args[:results_storage] if args.key?(:results_storage) @shard_summaries = args[:shard_summaries] if args.key?(:shard_summaries) end |