DoxigAlpha

hashStdIo

Function parameters

Parameters

#
hh:*std.Build.Cache.HashHelper

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#
addOutputFileArg
Provides a file path as a command line argument to the command being run.
addPrefixedOutputFileArg
Provides a file path as a command line argument to the command being run.
addFileArg
Appends an input file to the command line arguments.
addPrefixedFileArg
Appends an input file to the command line arguments prepended with a string.
addOutputDirectoryArg
Provides a directory path as a command line argument to the command being run.
addPrefixedOutputDirectoryArg
Provides a directory path as a command line argument to the command being run.
addDepFileOutputArg
Add a path argument to a dep file (.d) for the child process to write its
addPrefixedDepFileOutputArg
Add a prefixed path argument to a dep file (.d) for the child process to
expectStdErrEqual
Adds a check for exact stderr match.
expectStdOutEqual
Adds a check for exact stdout match as well as a check for exit code 0, if
addFileInput
Adds an additional input files that, when modified, indicates that this Run

= .run

Values

#
base_id
= .run

Source

Implementation

#
fn hashStdIo(hh: *std.Build.Cache.HashHelper, stdio: StdIo) void {
    switch (stdio) {
        .infer_from_args, .inherit, .zig_test => {},
        .check => |checks| for (checks.items) |check| {
            hh.add(@as(std.meta.Tag(StdIo.Check), check));
            switch (check) {
                .expect_stderr_exact,
                .expect_stderr_match,
                .expect_stdout_exact,
                .expect_stdout_match,
                => |s| hh.addBytes(s),

                .expect_term => |term| {
                    hh.add(@as(std.meta.Tag(std.process.Child.Term), term));
                    switch (term) {
                        .Exited => |x| hh.add(x),
                        .Signal, .Stopped, .Unknown => |x| hh.add(x),
                    }
                },
            }
        },
    }
}