Exemple #1
0
        public static bool IndicatesFailure(this PipState current)
        {
            Contract.Ensures(ContractUtilities.Static(IsTerminal(current)));

            switch (current)
            {
            case PipState.Ignored:
            case PipState.Waiting:
            case PipState.Ready:
            case PipState.Running:
                return(false);    // Non-terminal

            case PipState.Done:
                return(false);    // Terminal but successful

            case PipState.Skipped:
                return(false);    // Terminal but not considered a failure

            case PipState.Failed:
            case PipState.Canceled:
                return(true);    // Oh no!

            default:
                throw Contract.AssertFailure("Unhandled Pip State");
            }
        }
Exemple #2
0
        public static bool IndicatesExecution(this PipResultStatus result)
        {
            Contract.Ensures(ContractUtilities.Static(
                                 !Contract.Result <bool>() ||
                                 result == PipResultStatus.UpToDate || result == PipResultStatus.NotMaterialized || result == PipResultStatus.DeployedFromCache ||
                                 result == PipResultStatus.Succeeded || result == PipResultStatus.Failed || result == PipResultStatus.Canceled));

            return(result == PipResultStatus.UpToDate || result == PipResultStatus.NotMaterialized || result == PipResultStatus.DeployedFromCache ||
                   result == PipResultStatus.Succeeded || result == PipResultStatus.Failed || result == PipResultStatus.Canceled);
        }