blob: 1a4c12146925a56de01aff5a03564db6a2626c4d [file] [log] [blame]
// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.testing.harness;
/// Fuchsia test harness operation error type.
///
/// A harness is responsible for maintaining the state for a particular test run.
/// This type is returned when an operation fails.
type OperationError = flexible enum {
/// The requested operation is invalid.
///
/// This is returned when a test case asked the harness to do
/// something incompatible with the harness' current state. This
/// error signifies a bug in the test code itself.
///
/// Returning this value MUST fail the corresponding test.
///
/// Example: Test asked for the size of a file before it was created.
INVALID = 0;
/// The requested operation failed.
///
/// This is returned when the test harness failed to complete
/// an operation, even though the current state should have permitted
/// the operation to work. This error signifies a bug in a
/// dependency of the harness.
///
/// Returning this value MUST fail the corresponding test.
///
/// Example: Test asked for the size of a file after it was
/// created, but the query failed.
FAILED = 1;
/// The requested operation is not supported by this harness.
///
/// This is returned when the test harness does not support the
/// requested operation. This is not necessarily a fatal error, it
/// is used to signify that the harness has knowledge of what was
/// requested, but it does not implement the behavior.
///
/// Returning this value MAY fail the corresponding test, but
/// it does not need to. This return value is useful to determine
/// compatibility with different feature sets or versions.
///
/// Example: Test asked for the size of a file, but the ability
/// to check file sizes was removed in the previous component
/// version.
UNSUPPORTED = 2;
};