diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2021-08-26 01:36:58 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2021-08-26 01:36:58 +0000 |
| commit | 74295b09bfd56062f954a39a8f46b4200eeb064d (patch) | |
| tree | 6dd1dc72d00980c0f9a172ad0821fccd9bc007d3 /dev-python/cryptography | |
| parent | e8f5cd84f0501d0489c17152d9d39ed20ccf5139 (diff) | |
| download | baldeagleos-repo-74295b09bfd56062f954a39a8f46b4200eeb064d.tar.gz baldeagleos-repo-74295b09bfd56062f954a39a8f46b4200eeb064d.tar.xz baldeagleos-repo-74295b09bfd56062f954a39a8f46b4200eeb064d.zip | |
Adding metadata
Diffstat (limited to 'dev-python/cryptography')
| -rw-r--r-- | dev-python/cryptography/Manifest | 3 | ||||
| -rw-r--r-- | dev-python/cryptography/cryptography-3.4.7-r1.ebuild | 73 | ||||
| -rw-r--r-- | dev-python/cryptography/cryptography-3.4.8.ebuild | 115 | ||||
| -rw-r--r-- | dev-python/cryptography/files/cryptography-3.4.7-py310.patch | 301 |
4 files changed, 116 insertions, 376 deletions
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest index 7296e8e9e08a..7debf725e7e7 100644 --- a/dev-python/cryptography/Manifest +++ b/dev-python/cryptography/Manifest @@ -6,9 +6,8 @@ DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980 DIST cryptography-3.3.2.tar.gz 539883 BLAKE2B e35de90362b24170c4025f67914e60c16fbf37fce6bcd5d6f3fe32e5a9bb60de8edbebcb1ff0450fabc9c244d4b1a4618c720b630f28c747fea17e9bf008f01f SHA512 55f6ee13342b3209b1fcb310f4c4d33d22856ee785cb2347e6ad36c34e9b42f6e0d5bece8e458b09663a5b78e34c4567fe7a211b51ca71f55ccc93e3f62dc5e4 DIST cryptography-3.4.7-r2.tar.gz 35746288 BLAKE2B 750a265a5b518fdc992bf8a402792ff849129286751185f931ea82ebf4c9d3dabfed680ec2eb1c73d4c773ef2feac6186e251365921fbc67044b89bc040d311e SHA512 4007cb3a4312bd8053491741474309e9f39c21fe37e66b6a832ae837cf2e9330b71caa9bfc6d6692764336684c26809cb794521800b7f6dadce4367a588117ff -DIST cryptography-3.4.7.tar.gz 546893 BLAKE2B 49bc1e098ed1ba0181059b645f6668cda6332d196eaca55270ebce6e07e5bb6ab6724c5050fde20e89b7025773960d74ec782bb875badbbd5dc9a04db0a536f1 SHA512 3c4cf64bc0b067ccdbb71efe04c32ac9d673faea6cc4ccd13d6b1b61920be4785806d19359b7657d032a2ff1c011a8b4f16ec4924d9df8a59d1a875a7f844473 +DIST cryptography-3.4.8.tar.gz 35746288 BLAKE2B 750a265a5b518fdc992bf8a402792ff849129286751185f931ea82ebf4c9d3dabfed680ec2eb1c73d4c773ef2feac6186e251365921fbc67044b89bc040d311e SHA512 4007cb3a4312bd8053491741474309e9f39c21fe37e66b6a832ae837cf2e9330b71caa9bfc6d6692764336684c26809cb794521800b7f6dadce4367a588117ff DIST cryptography_vectors-3.3.2.tar.gz 35168168 BLAKE2B 3991a16556ae5be0d153cfe302dd9a860918a80bd0bdef7104f3c170ba63941c4b1ff74750bc12329422a6061161cb6452bea60e191d85c0d79e0852566c6c0b SHA512 18590adb96a6f04b8a41d4346b126b8adfc854cbcec85f8c1c0a23b1b363f215b37da60ea94a481b8fd7752f07fba515b08fc18faf2e29fb858e133129971f7c -DIST cryptography_vectors-3.4.7.tar.gz 35168102 BLAKE2B fbefd3ff96548dde012fd290aba1c99d57db376023d486910e486cc9c143461ef1ae9b77824cc03307723d35142f0360bc961b548a4edc02357d3f1a0e7e4e9f SHA512 269b50fa4c5300da6758006d12be42f998630d23053ef9af0eb588fc9e6994b044d8822cff105e338f4d0d746ed0e204a4a9c42f54667e355e1ce86e6754bbe9 DIST ctor-0.1.20.crate 9328 BLAKE2B bc2f4ce53f6b7d6a2fb441317a3f91b8852c541261f95f0b7d12adb35ec1c943810242ce71e514445479c5d225b735cd50fa4dfb514e6b121be753555ab3c30c SHA512 877f4663f8079a368d198a3351e98551c6d8123dd5e53b812529b77b09f1c08296e6df817d7429e4c70a73a6203fd98bce5ec2ce7b09baabe4f348bd54a9c0dd DIST ghost-0.1.2.crate 12777 BLAKE2B 34293c1ec8412ef207627ca2a041f2dd8822c2d8990df8e0f17ffdfc865a1662991a80680c484ddef505758578177d358c2e56003003a2cb685f07a41d6a9feb SHA512 4258fdfab59946a4955f053cf0b73f964d5bdf25ac9357ef8f4cb21948299fb749bf0c0e89a9c1e95a8606e74c6b3a3630fb4f6316815d83882a9531e3b78b5a DIST indoc-0.3.6.crate 9663 BLAKE2B ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2 SHA512 e900aa3b001df0fdbf1f543d8b679af317e85a1f95e26fc556213f2826a4f6c82d8c4f3f82de435e3591f8bc14e78eb22668d901dcbe2287f46740e0291afacd diff --git a/dev-python/cryptography/cryptography-3.4.7-r1.ebuild b/dev-python/cryptography/cryptography-3.4.7-r1.ebuild deleted file mode 100644 index b6732a0390cc..000000000000 --- a/dev-python/cryptography/cryptography-3.4.7-r1.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2021 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing - -VEC_P=cryptography_vectors-${PV} -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz - test? ( mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz )" - -LICENSE="|| ( Apache-2.0 BSD )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~x86" -IUSE="libressl" - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] - ' 'python*') - " -BDEPEND=" - test? ( - >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - )" - -distutils_enable_tests pytest - -DEPEND=" - !libressl? ( >=dev-libs/openssl-1.0.2o-r6:0= ) - libressl? ( >=dev-libs/libressl-2.9.1:0= ) - " -RDEPEND+=${DEPEND} - -PATCHES=( - "${FILESDIR}/${P}-py310.patch" -) - -src_prepare() { - default - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi - - # this version does not really use Rust, it just creates a dummy - # extension to break stuff - export CRYPTOGRAPHY_DONT_BUILD_RUST=1 - sed -e 's:from setuptools_rust import RustExtension:pass:' \ - -e '/setup_requires/d' \ - -i setup.py || die -} - -python_test() { - local -x PYTHONPATH=${PYTHONPATH}:${WORKDIR}/${VEC_P} - epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" -} diff --git a/dev-python/cryptography/cryptography-3.4.8.ebuild b/dev-python/cryptography/cryptography-3.4.8.ebuild new file mode 100644 index 000000000000..4da7652b200f --- /dev/null +++ b/dev-python/cryptography/cryptography-3.4.8.ebuild @@ -0,0 +1,115 @@ +# Copyright 2021 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=7 + +CARGO_OPTIONAL=yes +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit cargo distutils-r1 multiprocessing + +CRYPTOGRAPHY_SRC_HASH=1b922ed1dee0cd7e165a868639ce6d0869c8b2f5 +CRATES=" +asn1-0.4.2 +asn1_derive-0.4.2 +autocfg-1.0.1 +bitflags-1.2.1 +cfg-if-1.0.0 +chrono-0.4.19 +ctor-0.1.20 +ghost-0.1.2 +indoc-0.3.6 +indoc-impl-0.3.6 +instant-0.1.9 +inventory-0.1.10 +inventory-impl-0.1.10 +lazy_static-1.4.0 +libc-0.2.94 +lock_api-0.4.4 +num-integer-0.1.44 +num-traits-0.2.14 +parking_lot-0.11.1 +parking_lot_core-0.8.3 +paste-0.1.18 +paste-impl-0.1.18 +proc-macro-hack-0.5.19 +proc-macro2-1.0.26 +pyo3-0.13.2 +pyo3-macros-0.13.2 +pyo3-macros-backend-0.13.2 +quote-1.0.9 +redox_syscall-0.2.8 +scopeguard-1.1.0 +smallvec-1.6.1 +syn-1.0.72 +unicode-xid-0.2.2 +unindent-0.1.7 +winapi-0.3.9 +winapi-i686-pc-windows-gnu-0.4.0 +winapi-x86_64-pc-windows-gnu-0.4.0 +" + +DESCRIPTION="Library providing cryptographic recipes and primitives" +HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/" +SRC_URI="https://github.com/pyca/${PN}/archive/${CRYPTOGRAPHY_SRC_HASH}.tar.gz -> ${PF}.tar.gz + $(cargo_crate_uris ${CRATES})" + +# MIT and BSD-3-Clause come from rust dependencies, some dependencies are also Apache 2.0 exclusively, +# and some are Apache 2.0 or MIT +LICENSE="Apache-2.0 MIT BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" +IUSE="libressl" + +DEPEND=" + !libressl? ( >=dev-libs/openssl-1.0.2o-r6:0= ) + libressl? ( >=dev-libs/libressl-2.9.1:0= ) +" +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] + ' 'python*') +" +BDEPEND=" + ${DEPEND} + dev-python/setuptools_rust[${PYTHON_USEDEP}] + test? ( + >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] + dev-python/iso8601[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pyasn1-modules[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +S="${WORKDIR}/cryptography-${CRYPTOGRAPHY_SRC_HASH}" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.abi3.so" + +distutils_enable_tests pytest + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + # work around availability macros not supported in GCC (yet) + if [[ ${CHOST} == *-darwin* ]] ; then + local darwinok=0 + if [[ ${CHOST##*-darwin} -ge 16 ]] ; then + darwinok=1 + fi + sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ + src/_cffi_src/openssl/src/osrandom_engine.c || die + fi +} + +python_test() { + local -x PYTHONPATH="${PYTHONPATH}:${S}/vectors" + epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" +} diff --git a/dev-python/cryptography/files/cryptography-3.4.7-py310.patch b/dev-python/cryptography/files/cryptography-3.4.7-py310.patch deleted file mode 100644 index d961af82b774..000000000000 --- a/dev-python/cryptography/files/cryptography-3.4.7-py310.patch +++ /dev/null @@ -1,301 +0,0 @@ -diff --git a/src/cryptography/exceptions.py b/src/cryptography/exceptions.py -index f5860590..3bd98d82 100644 ---- a/src/cryptography/exceptions.py -+++ b/src/cryptography/exceptions.py -@@ -3,10 +3,10 @@ - # for complete details. - - --from enum import Enum -+from cryptography import utils - - --class _Reasons(Enum): -+class _Reasons(utils.Enum): - BACKEND_MISSING_INTERFACE = 0 - UNSUPPORTED_HASH = 1 - UNSUPPORTED_CIPHER = 2 -diff --git a/src/cryptography/hazmat/primitives/_serialization.py b/src/cryptography/hazmat/primitives/_serialization.py -index 96a5ed9b..160a6b89 100644 ---- a/src/cryptography/hazmat/primitives/_serialization.py -+++ b/src/cryptography/hazmat/primitives/_serialization.py -@@ -3,13 +3,14 @@ - # for complete details. - - import abc --from enum import Enum -+ -+from cryptography import utils - - # This exists to break an import cycle. These classes are normally accessible - # from the serialization module. - - --class Encoding(Enum): -+class Encoding(utils.Enum): - PEM = "PEM" - DER = "DER" - OpenSSH = "OpenSSH" -@@ -18,14 +19,14 @@ class Encoding(Enum): - SMIME = "S/MIME" - - --class PrivateFormat(Enum): -+class PrivateFormat(utils.Enum): - PKCS8 = "PKCS8" - TraditionalOpenSSL = "TraditionalOpenSSL" - Raw = "Raw" - OpenSSH = "OpenSSH" - - --class PublicFormat(Enum): -+class PublicFormat(utils.Enum): - SubjectPublicKeyInfo = "X.509 subjectPublicKeyInfo with PKCS#1" - PKCS1 = "Raw PKCS#1" - OpenSSH = "OpenSSH" -@@ -34,7 +35,7 @@ class PublicFormat(Enum): - UncompressedPoint = "X9.62 Uncompressed Point" - - --class ParameterFormat(Enum): -+class ParameterFormat(utils.Enum): - PKCS3 = "PKCS3" - - -diff --git a/src/cryptography/hazmat/primitives/kdf/kbkdf.py b/src/cryptography/hazmat/primitives/kdf/kbkdf.py -index ac36474f..75fe7d51 100644 ---- a/src/cryptography/hazmat/primitives/kdf/kbkdf.py -+++ b/src/cryptography/hazmat/primitives/kdf/kbkdf.py -@@ -4,7 +4,6 @@ - - - import typing --from enum import Enum - - from cryptography import utils - from cryptography.exceptions import ( -@@ -19,11 +18,11 @@ from cryptography.hazmat.primitives import constant_time, hashes, hmac - from cryptography.hazmat.primitives.kdf import KeyDerivationFunction - - --class Mode(Enum): -+class Mode(utils.Enum): - CounterMode = "ctr" - - --class CounterLocation(Enum): -+class CounterLocation(utils.Enum): - BeforeFixed = "before_fixed" - AfterFixed = "after_fixed" - -diff --git a/src/cryptography/hazmat/primitives/serialization/pkcs7.py b/src/cryptography/hazmat/primitives/serialization/pkcs7.py -index bcd9e330..57aac7e3 100644 ---- a/src/cryptography/hazmat/primitives/serialization/pkcs7.py -+++ b/src/cryptography/hazmat/primitives/serialization/pkcs7.py -@@ -3,8 +3,8 @@ - # for complete details. - - import typing --from enum import Enum - -+from cryptography import utils - from cryptography import x509 - from cryptography.hazmat.backends import _get_backend - from cryptography.hazmat.primitives import hashes, serialization -@@ -35,7 +35,7 @@ _ALLOWED_PRIVATE_KEY_TYPES = typing.Union[ - ] - - --class PKCS7Options(Enum): -+class PKCS7Options(utils.Enum): - Text = "Add text/plain MIME type" - Binary = "Don't translate input data into canonical MIME format" - DetachedSignature = "Don't embed data in the PKCS7 structure" -diff --git a/src/cryptography/utils.py b/src/cryptography/utils.py -index ef0fc443..9e571cfd 100644 ---- a/src/cryptography/utils.py -+++ b/src/cryptography/utils.py -@@ -4,6 +4,7 @@ - - - import abc -+import enum - import inspect - import sys - import typing -@@ -162,3 +163,13 @@ int_from_bytes = deprecated( - "int_from_bytes is deprecated, use int.from_bytes instead", - DeprecatedIn34, - ) -+ -+ -+# Python 3.10 changed representation of enums. We use well-defined object -+# representation and string representation from Python 3.9. -+class Enum(enum.Enum): -+ def __repr__(self): -+ return f"<{self.__class__.__name__}.{self._name_}: {self._value_!r}>" -+ -+ def __str__(self): -+ return f"{self.__class__.__name__}.{self._name_}" -diff --git a/src/cryptography/x509/base.py b/src/cryptography/x509/base.py -index 5505fa3b..e3846c33 100644 ---- a/src/cryptography/x509/base.py -+++ b/src/cryptography/x509/base.py -@@ -7,9 +7,9 @@ import abc - import datetime - import os - import typing --from enum import Enum - - from cryptography.hazmat._types import _PRIVATE_KEY_TYPES, _PUBLIC_KEY_TYPES -+from cryptography import utils - from cryptography.hazmat.backends import _get_backend - from cryptography.hazmat.primitives import hashes, serialization - from cryptography.hazmat.primitives.asymmetric import ( -@@ -66,7 +66,7 @@ def _convert_to_naive_utc_time(time: datetime.datetime) -> datetime.datetime: - return time - - --class Version(Enum): -+class Version(utils.Enum): - v1 = 0 - v3 = 2 - -diff --git a/src/cryptography/x509/certificate_transparency.py b/src/cryptography/x509/certificate_transparency.py -index d51bee92..d80f051a 100644 ---- a/src/cryptography/x509/certificate_transparency.py -+++ b/src/cryptography/x509/certificate_transparency.py -@@ -5,15 +5,16 @@ - - import abc - import datetime --from enum import Enum - -+from cryptography import utils - --class LogEntryType(Enum): -+ -+class LogEntryType(utils.Enum): - X509_CERTIFICATE = 0 - PRE_CERTIFICATE = 1 - - --class Version(Enum): -+class Version(utils.Enum): - v1 = 0 - - -diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py -index 6cae016a..742f1fa2 100644 ---- a/src/cryptography/x509/extensions.py -+++ b/src/cryptography/x509/extensions.py -@@ -8,7 +8,6 @@ import datetime - import hashlib - import ipaddress - import typing --from enum import Enum - - from cryptography import utils - from cryptography.hazmat._der import ( -@@ -634,7 +633,7 @@ class DistributionPoint(object): - crl_issuer = utils.read_only_property("_crl_issuer") - - --class ReasonFlags(Enum): -+class ReasonFlags(utils.Enum): - unspecified = "unspecified" - key_compromise = "keyCompromise" - ca_compromise = "cACompromise" -@@ -978,7 +977,7 @@ class TLSFeature(ExtensionType): - return hash(tuple(self._features)) - - --class TLSFeatureType(Enum): -+class TLSFeatureType(utils.Enum): - # status_request is defined in RFC 6066 and is used for what is commonly - # called OCSP Must-Staple when present in the TLS Feature extension in an - # X.509 certificate. -diff --git a/src/cryptography/x509/name.py b/src/cryptography/x509/name.py -index a579aa21..9069a9f4 100644 ---- a/src/cryptography/x509/name.py -+++ b/src/cryptography/x509/name.py -@@ -3,14 +3,13 @@ - # for complete details. - - import typing --from enum import Enum - - from cryptography import utils - from cryptography.hazmat.backends import _get_backend - from cryptography.x509.oid import NameOID, ObjectIdentifier - - --class _ASN1Type(Enum): -+class _ASN1Type(utils.Enum): - UTF8String = 12 - NumericString = 18 - PrintableString = 19 -diff --git a/src/cryptography/x509/ocsp.py b/src/cryptography/x509/ocsp.py -index 1c5de73e..bcf210c1 100644 ---- a/src/cryptography/x509/ocsp.py -+++ b/src/cryptography/x509/ocsp.py -@@ -6,8 +6,8 @@ - import abc - import datetime - import typing --from enum import Enum - -+from cryptography import utils - from cryptography import x509 - from cryptography.hazmat.primitives import hashes, serialization - from cryptography.x509.base import ( -@@ -27,12 +27,12 @@ _OIDS_TO_HASH = { - } - - --class OCSPResponderEncoding(Enum): -+class OCSPResponderEncoding(utils.Enum): - HASH = "By Hash" - NAME = "By Name" - - --class OCSPResponseStatus(Enum): -+class OCSPResponseStatus(utils.Enum): - SUCCESSFUL = 0 - MALFORMED_REQUEST = 1 - INTERNAL_ERROR = 2 -@@ -58,7 +58,7 @@ def _verify_algorithm(algorithm): - ) - - --class OCSPCertStatus(Enum): -+class OCSPCertStatus(utils.Enum): - GOOD = 0 - REVOKED = 1 - UNKNOWN = 2 -diff --git a/tests/test_cryptography_utils.py b/tests/test_cryptography_utils.py -index 6b795e0c..803997ac 100644 ---- a/tests/test_cryptography_utils.py -+++ b/tests/test_cryptography_utils.py -@@ -2,6 +2,7 @@ - # 2.0, and the BSD License. See the LICENSE file in the root of this repository - # for complete details. - -+import enum - import typing - - import pytest -@@ -51,3 +52,13 @@ class TestCachedProperty(object): - assert len(accesses) == 1 - assert t.t == 14 - assert len(accesses) == 1 -+ -+ -+def test_enum(): -+ class TestEnum(utils.Enum): -+ value = "something" -+ -+ assert issubclass(TestEnum, enum.Enum) -+ assert isinstance(TestEnum.value, enum.Enum) -+ assert repr(TestEnum.value) == "<TestEnum.value: 'something'>" -+ assert str(TestEnum.value) == "TestEnum.value" |
