Mercurial > hg
view contrib/fuzz/fuzzutil.h @ 50329:3dbc7b1ecaba stable
typing: correct the signature of error.CommandError
There's a place in `mercurial.dispatch._parse()` that passes None if a parse
error happens before the command can be parsed out, and casting the error to
bytes works fine because the command and message fields are apparently ignored.
Likewise, TortoiseHg similarly passes None for the same reason.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 24 Mar 2023 02:22:12 -0400 |
parents | 6f5c352f41b6 |
children |
line wrap: on
line source
#ifndef CONTRIB_FUZZ_FUZZUTIL_H #define CONTRIB_FUZZ_FUZZUTIL_H #include <iostream> #include <memory> #include <stdint.h> /* Try and use std::optional, but failing that assume we'll have a * workable https://abseil.io/ install on the include path to get * their backport of std::optional. */ #ifdef __has_include #if __has_include(<optional>) && __cplusplus >= 201703L #include <optional> #define CONTRIB_FUZZ_HAVE_STD_OPTIONAL #endif #endif #ifdef CONTRIB_FUZZ_HAVE_STD_OPTIONAL namespace contrib { using std::nullopt; using std::optional; } /* namespace contrib */ #else #include "third_party/absl/types/optional.h" namespace contrib { using absl::nullopt; using absl::optional; } /* namespace contrib */ #endif /* set DEBUG to 1 for a few debugging prints, or 2 for a lot */ #define DEBUG 0 #define LOG(level) \ if (level <= DEBUG) \ std::cout #endif /* CONTRIB_FUZZ_FUZZUTIL_H */