123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include "epid/common-testhelper/epid_gtest-testhelper.h"
- #include <string>
- struct EpidStatusTextEntry {
-
- EpidStatus value;
-
- const char* value_name;
- };
- #define EPID_STATUS_TEXT_ENTRY_VALUE(sts) \
- { sts, #sts }
- static const struct EpidStatusTextEntry kEnumToText[] = {
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidNoErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidSigInvalid),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidSigRevokedInGroupRl),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidSigRevokedInPrivRl),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidSigRevokedInSigRl),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidSigRevokedInVerifierRl),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidNotImpl),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidBadArgErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidNoMemErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidMemAllocErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidMathErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidDivByZeroErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidUnderflowErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidHashAlgorithmNotSupported),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidRandMaxIterErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidDuplicateErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidInconsistentBasenameSetErr),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidMathQuadraticNonResidueError),
- EPID_STATUS_TEXT_ENTRY_VALUE(kEpidOutOfSequenceError)};
- const char* EpidStatusToName(EpidStatus e) {
- size_t i = 0;
- const size_t num_entries = sizeof(kEnumToText) / sizeof(kEnumToText[0]);
- for (i = 0; i < num_entries; i++) {
- if (e == kEnumToText[i].value) {
- return kEnumToText[i].value_name;
- }
- }
- return "unknown";
- }
- std::ostream& operator<<(std::ostream& os, EpidStatus e) {
- const char* enum_name = EpidStatusToName(e);
- return os << enum_name << " (" << std::to_string(e) << ")";
- }
|