* Package: dev-haskell/email-validate-2.3.2.13 * Repository: gentoo * Maintainer: haskell@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux test userland_GNU * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox >>> Unpacking source... >>> Unpacking email-validate-2.3.2.13.tar.gz to /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work >>> Source unpacked in /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work >>> Preparing source in /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13 ... * Using cabal-3.2.1.0. * Prepending /usr/lib64/ghc-8.10.4 to LD_LIBRARY_PATH /usr/bin/ghc -package Cabal-3.2.1.0 --make /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13/Setup.lhs -j4 +RTS -A256M -qb0 -RTS -threaded -dynamic -o setup [1 of 1] Compiling Main ( /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13/Setup.lhs, /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13/Setup.o ) Linking setup ... ./setup configure --ghc --prefix=/usr --with-compiler=/usr/bin/ghc --with-hc-pkg=/usr/bin/ghc-pkg --prefix=/usr --libdir=/usr/lib64 --libsubdir=email-validate-2.3.2.13/ghc-8.10.4 --datadir=/usr/share/ --datasubdir=email-validate-2.3.2.13/ghc-8.10.4 --enable-tests --ghc-options=-j4 +RTS -A256M -qb0 -RTS --with-ar=x86_64-pc-linux-gnu-ar --ghc-option=-optc-pipe --ghc-option=-optc-march=native --ghc-option=-optc-fno-diagnostics-color --ghc-option=-optc-O2 --ghc-option=-optl-Wl,-O1 --ghc-option=-optl-Wl,--as-needed --ghc-option=-optl-Wl,--defsym=__gentoo_check_ldflags__=0 --disable-executable-stripping --docdir=/usr/share/doc/email-validate-2.3.2.13 --verbose --enable-shared --enable-executable-dynamic --sysconfdir=/etc --disable-library-stripping Using Parsec parser Configuring email-validate-2.3.2.13... Dependency attoparsec >=0.10.0 && <0.14: using attoparsec-0.13.2.3 Dependency base >=4.4 && <5: using base-4.14.1.0 Dependency bytestring >=0.9 && <0.11: using bytestring-0.10.12.0 Dependency template-haskell >=2.10.0.0 && <2.17: using template-haskell-2.16.0.0 Dependency QuickCheck >=2.4 && <2.15: using QuickCheck-2.13.2 Dependency base ==4.*: using base-4.14.1.0 Dependency bytestring >=0.9 && <0.11: using bytestring-0.10.12.0 Dependency email-validate -any: using email-validate-2.3.2.13 Dependency hspec >=2.2.3 && <2.8: using hspec-2.7.1 Dependency base ==4.*: using base-4.14.1.0 Dependency doctest >=0.8 && <0.17: using doctest-0.16.3 Source component graph: component test:doctests component lib component test:Main dependency lib Configured component graph: component email-validate-2.3.2.13-JHfEldcPTIjDzMdNN63XCg-doctests include base-4.14.1.0 include doctest-0.16.3-I41zbPWDVDmFI67NjvNR5A component email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK include attoparsec-0.13.2.3-JuG4qec0H3DHzPdmMxowmr include base-4.14.1.0 include bytestring-0.10.12.0 include template-haskell-2.16.0.0 component email-validate-2.3.2.13-76Wq5eWQa67KohgXxcarS8-Main include QuickCheck-2.13.2-IlWvwVWq2lIu9e5L4sfIO include base-4.14.1.0 include bytestring-0.10.12.0 include email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK include hspec-2.7.1-K7Qvox5y1NX4AEpbdLM059 Linked component graph: unit email-validate-2.3.2.13-JHfEldcPTIjDzMdNN63XCg-doctests include base-4.14.1.0 include doctest-0.16.3-I41zbPWDVDmFI67NjvNR5A unit email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK include attoparsec-0.13.2.3-JuG4qec0H3DHzPdmMxowmr include base-4.14.1.0 include bytestring-0.10.12.0 include template-haskell-2.16.0.0 Text.Email.Parser=email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK:Text.Email.Parser,Text.Email.QuasiQuotation=email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK:Text.Email.QuasiQuotation,Text.Email.Validate=email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK:Text.Email.Validate unit email-validate-2.3.2.13-76Wq5eWQa67KohgXxcarS8-Main include QuickCheck-2.13.2-IlWvwVWq2lIu9e5L4sfIO include base-4.14.1.0 include bytestring-0.10.12.0 include email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK include hspec-2.7.1-K7Qvox5y1NX4AEpbdLM059 Ready component graph: definite email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK depends attoparsec-0.13.2.3-JuG4qec0H3DHzPdmMxowmr depends base-4.14.1.0 depends bytestring-0.10.12.0 depends template-haskell-2.16.0.0 definite email-validate-2.3.2.13-JHfEldcPTIjDzMdNN63XCg-doctests depends base-4.14.1.0 depends doctest-0.16.3-I41zbPWDVDmFI67NjvNR5A definite email-validate-2.3.2.13-76Wq5eWQa67KohgXxcarS8-Main depends QuickCheck-2.13.2-IlWvwVWq2lIu9e5L4sfIO depends base-4.14.1.0 depends bytestring-0.10.12.0 depends email-validate-2.3.2.13-KLRcRo0WgEk3IJrI004tTK depends hspec-2.7.1-K7Qvox5y1NX4AEpbdLM059 Using Cabal-3.2.1.0 compiled by ghc-8.10 Using compiler: ghc-8.10.4 Using install prefix: /usr Executables installed in: /usr/bin Libraries installed in: /usr/lib64/email-validate-2.3.2.13/ghc-8.10.4 Dynamic Libraries installed in: /usr/lib64/x86_64-linux-ghc-8.10.4 Private executables installed in: /usr/libexec/x86_64-linux-ghc-8.10.4/email-validate-2.3.2.13 Data files installed in: /usr/share/email-validate-2.3.2.13/ghc-8.10.4 Documentation installed in: /usr/share/doc/email-validate-2.3.2.13 Configuration files installed in: /etc Using alex version 3.2.5 found on system at: /usr/bin/alex Using ar given by user at: /usr/bin/x86_64-pc-linux-gnu-ar Using c2hs version 0.28.8 found on system at: /usr/bin/c2hs No cpphs found Using doctest version 0.16.3 found on system at: /usr/bin/doctest Using gcc version 11.2.0 found on system at: /usr/bin/x86_64-pc-linux-gnu-gcc Using ghc version 8.10.4 given by user at: /usr/bin/ghc Using ghc-pkg version 8.10.4 given by user at: /usr/bin/ghc-pkg No ghcjs found No ghcjs-pkg found No greencard found Using haddock version 2.24.0 found on system at: /usr/bin/haddock-ghc-8.10.4 Using happy version 1.19.12 found on system at: /usr/bin/happy Using haskell-suite found on system at: haskell-suite-dummy-location Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location No hmake found Using hpc version 0.68 found on system at: /usr/bin/hpc Using hsc2hs version 0.68.7 found on system at: /usr/bin/hsc2hs No hscolour found No jhc found Using ld found on system at: /usr/bin/x86_64-pc-linux-gnu-ld Using pkg-config version 1.8.0 found on system at: /usr/bin/pkg-config Using runghc version 8.10.4 found on system at: /usr/bin/runghc Using strip version 2.35 found on system at: /usr/bin/strip Using tar found on system at: /bin/tar No uhc found >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13 ... ./setup build Preprocessing library for email-validate-2.3.2.13.. Building library for email-validate-2.3.2.13.. [1 of 3] Compiling Text.Email.Parser ( src/Text/Email/Parser.hs, dist/build/Text/Email/Parser.o, dist/build/Text/Email/Parser.dyn_o ) [2 of 3] Compiling Text.Email.Validate ( src/Text/Email/Validate.hs, dist/build/Text/Email/Validate.o, dist/build/Text/Email/Validate.dyn_o ) [3 of 3] Compiling Text.Email.QuasiQuotation ( src/Text/Email/QuasiQuotation.hs, dist/build/Text/Email/QuasiQuotation.o, dist/build/Text/Email/QuasiQuotation.dyn_o ) Preprocessing test suite 'doctests' for email-validate-2.3.2.13.. Building test suite 'doctests' for email-validate-2.3.2.13.. [1 of 1] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.dyn_o ) Linking dist/build/doctests/doctests ... Preprocessing test suite 'Main' for email-validate-2.3.2.13.. Building test suite 'Main' for email-validate-2.3.2.13.. [1 of 1] Compiling Main ( tests/Main.hs, dist/build/Main/Main-tmp/Main.dyn_o ) Linking dist/build/Main/Main ... >>> Source compiled. >>> Test phase: dev-haskell/email-validate-2.3.2.13 * >>> Test phase [cabal test]: dev-haskell/email-validate-2.3.2.13 ./setup test --show-details=streaming Running 2 test suites... Test suite doctests: RUNNING... doctests: user error (Language.Haskell.GhciWrapper.close: Interpreter exited with an error (ExitFailure 251)) Test suite doctests: FAIL Test suite logged to: dist/test/email-validate-2.3.2.13-doctests.log Test suite Main: RUNNING... show/read instances can roundtrip +++ OK, passed 100 tests. shows in the same way as ByteString +++ OK, passed 100 tests. should fail if read back without a quote +++ OK, passed 100 tests. emailAddress is idempotent +++ OK, passed 100 tests. Examples "first.last@example.com" should be valid passes double-canonicalization test "first.last@example.com." (Dot allowed on end of domain) should be valid passes double-canonicalization test "local@exam_ple.com" (Underscore not permitted in domain) should be invalid "1234567890123456789012345678901234567890123456789012345678901234@example.com" should be valid passes double-canonicalization test "\"first last\"@example.com" (Contains quoted spaces) should be valid passes double-canonicalization test "\"first\\\"last\"@example.com" (Contains quoted escaped quote) should be valid passes double-canonicalization test "first\\@last@example.com" (Escaping can only happen within a quoted string) should be invalid "\"first@last\"@example.com" (Contains quoted at-sign) should be valid passes double-canonicalization test "\"first\\\\last\"@example.com" (Contains quoted escaped backslash) should be valid passes double-canonicalization test "1234@xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx" (Maximum length is 254, this is 254 exactly) should be valid passes double-canonicalization test "1234@xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx." (Trailing dot doesn't increase length) should be valid passes double-canonicalization test "12345@xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx.xxxxxxxxx" (Maximum length is 254, this is 255) should be invalid should have correct error message "first.last@[12.34.56.78]" (IP address) should be valid passes double-canonicalization test "first.last@[IPv6:::12.34.56.78]" (IPv6 address) should be valid passes double-canonicalization test "first.last@[IPv6:1111:2222:3333::4444:12.34.56.78]" should be valid passes double-canonicalization test "first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]" should be valid passes double-canonicalization test "first.last@[IPv6:::1111:2222:3333:4444:5555:6666]" should be valid passes double-canonicalization test "first.last@[IPv6:1111:2222:3333::4444:5555:6666]" should be valid passes double-canonicalization test "first.last@[IPv6:1111:2222:3333:4444:5555:6666::]" should be valid passes double-canonicalization test "first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]" should be valid passes double-canonicalization test "first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com" should be valid passes double-canonicalization test "first.last@1xample.com" should be valid passes double-canonicalization test "first.last@123.example.com" should be valid passes double-canonicalization test "first.last" (no at sign) should be invalid should have correct error message ".first.last@example.com" (Local part starts with a dot) should be invalid "first.last.@example.com" (Local part ends with a dot) should be invalid "first..last@example.com" (Local part has consecutive dots) should be invalid "\"first\"last\"@example.com" (Local part contains unescaped excluded characters) should be invalid "\"first\\last\"@example.com" (Any character can be escaped in a quoted string) should be valid passes double-canonicalization test "\"\"\"@example.com" (Local part contains unescaped excluded characters) should be invalid "\"\\\"@example.com" (Local part cannot end with a backslash) should be invalid "first\\\\@last@example.com" (Local part contains unescaped excluded characters) should be invalid "first.last@" (No domain) should be invalid "\"Abc\\@def\"@example.com" should be valid passes double-canonicalization test "\"Fred\\ Bloggs\"@example.com" should be valid passes double-canonicalization test "\"Joe.\\\\Blow\"@example.com" should be valid passes double-canonicalization test "\"Abc@def\"@example.com" should be valid passes double-canonicalization test "\"Fred Bloggs\"@example.com" should be valid passes double-canonicalization test "user+mailbox@example.com" should be valid passes double-canonicalization test "customer/department=shipping@example.com" should be valid passes double-canonicalization test "$A12345@example.com" should be valid passes double-canonicalization test "!def!xyz%abc@example.com" should be valid passes double-canonicalization test "_somename@example.com" should be valid passes double-canonicalization test "dclo@us.ibm.com" should be valid passes double-canonicalization test "abc\\@def@example.com" (This example from RFC3696 was corrected in an erratum) should be invalid "abc\\\\@example.com" (This example from RFC3696 was corrected in an erratum) should be invalid "peter.piper@example.com" should be valid passes double-canonicalization test "Doug\\ \\\"Ace\\\"\\ Lovell@example.com" (Escaping can only happen in a quoted string) should be invalid "\"Doug \\\"Ace\\\" L.\"@example.com" should be valid passes double-canonicalization test "abc@def@example.com" (Doug Lovell says this should fail) should be invalid "abc\\\\@def@example.com" (Doug Lovell says this should fail) should be invalid "abc\\@example.com" (Doug Lovell says this should fail) should be invalid "@example.com" (no local part) should be invalid "doug@" (no domain part) should be invalid "\"qu@example.com" (Doug Lovell says this should fail) should be invalid "ote\"@example.com" (Doug Lovell says this should fail) should be invalid ".dot@example.com" (Doug Lovell says this should fail) should be invalid "dot.@example.com" (Doug Lovell says this should fail) should be invalid "two..dot@example.com" (Doug Lovell says this should fail) should be invalid "\"Doug \"Ace\" L.\"@example.com" (Doug Lovell says this should fail) should be invalid "Doug\\ \\\"Ace\\\"\\ L\\.@example.com" (Doug Lovell says this should fail) should be invalid "hello world@example.com" (Doug Lovell says this should fail) should be invalid "gatsby@f.sc.ot.t.f.i.tzg.era.l.d." should be valid passes double-canonicalization test "test@example.com" should be valid passes double-canonicalization test "TEST@example.com" should be valid passes double-canonicalization test "1234567890@example.com" should be valid passes double-canonicalization test "test+test@example.com" should be valid passes double-canonicalization test "test-test@example.com" should be valid passes double-canonicalization test "t*est@example.com" should be valid passes double-canonicalization test "+1~1+@example.com" should be valid passes double-canonicalization test "{_test_}@example.com" should be valid passes double-canonicalization test "\"[[ test ]]\"@example.com" should be valid passes double-canonicalization test "test.test@example.com" should be valid passes double-canonicalization test "\"test.test\"@example.com" should be valid passes double-canonicalization test "test.\"test\"@example.com" (Obsolete form, but documented in RFC2822) should be valid passes double-canonicalization test "\"test@test\"@example.com" should be valid passes double-canonicalization test "test@123.123.123.x123" should be valid passes double-canonicalization test "test@[123.123.123.123]" should be valid passes double-canonicalization test "test@example.example.com" should be valid passes double-canonicalization test "test@example.example.example.com" should be valid passes double-canonicalization test "test.example.com" should be invalid "test.@example.com" should be invalid "test..test@example.com" should be invalid ".test@example.com" should be invalid "test@test@example.com" should be invalid "test@@example.com" should be invalid "-- test --@example.com" (No spaces allowed in local part) should be invalid "[test]@example.com" (Square brackets only allowed within quotes) should be invalid "\"test\\test\"@example.com" (Any character can be escaped in a quoted string) should be valid passes double-canonicalization test "\"test\"test\"@example.com" (Quotes cannot be nested) should be invalid "()[]\\;:,><@example.com" (Disallowed Characters) should be invalid "test@." (Dave Child says so) should be invalid "test@example." should be valid passes double-canonicalization test "test@.org" (Dave Child says so) should be invalid "test@[123.123.123.123" (Dave Child says so) should be invalid "test@123.123.123.123]" (Dave Child says so) should be invalid "NotAnEmail" (Phil Haack says so) should be invalid "@NotAnEmail" (Phil Haack says so) should be invalid "\"test\\\\blah\"@example.com" should be valid passes double-canonicalization test "\"test\\blah\"@example.com" (Any character can be escaped in a quoted string) should be valid passes double-canonicalization test "\"test\\\rblah\"@example.com" (Quoted string specifically excludes carriage returns unless escaped) should be valid passes double-canonicalization test "\"test\rblah\"@example.com" (Quoted string specifically excludes carriage returns) should be invalid "\"test\\\"blah\"@example.com" should be valid passes double-canonicalization test "\"test\"blah\"@example.com" (Phil Haack says so) should be invalid "customer/department@example.com" should be valid passes double-canonicalization test "_Yosemite.Sam@example.com" should be valid passes double-canonicalization test "~@example.com" should be valid passes double-canonicalization test ".wooly@example.com" (Phil Haack says so) should be invalid "wo..oly@example.com" (Phil Haack says so) should be invalid "pootietang.@example.com" (Phil Haack says so) should be invalid ".@example.com" (Phil Haack says so) should be invalid "\"Austin@Powers\"@example.com" should be valid passes double-canonicalization test "Ima.Fool@example.com" should be valid passes double-canonicalization test "\"Ima.Fool\"@example.com" should be valid passes double-canonicalization test "\"Ima Fool\"@example.com" should be valid passes double-canonicalization test "Ima Fool@example.com" (Phil Haack says so) should be invalid "phil.h\\@\\@ck@haacked.com" (Escaping can only happen in a quoted string) should be invalid "\"first\".\"last\"@example.com" should be valid passes double-canonicalization test "\"first\".middle.\"last\"@example.com" should be valid passes double-canonicalization test "\"first\\\\\"last\"@example.com" (Contains an unescaped quote) should be invalid "\"first\".last@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "first.\"last\"@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "\"first\".\"middle\".\"last\"@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "\"first.middle\".\"last\"@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "\"first.middle.last\"@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "\"first..last\"@example.com" (obs-local-part form as described in RFC 2822) should be valid passes double-canonicalization test "foo@[\\1.2.3.4]" (RFC 5321 specifies the syntax for address-literal and does not allow escaping) should be invalid "\"first\\\\\\\"last\"@example.com" should be valid passes double-canonicalization test "first.\"mid\\dle\".\"last\"@example.com" (Backslash can escape anything but must escape something) should be valid passes double-canonicalization test "Test.\r\n Folding.\r\n Whitespace@example.com" should be valid passes double-canonicalization test "first\\last@example.com" (Unquoted string must be an atom) should be invalid "Abc\\@def@example.com" (Was incorrectly given as a valid address in the original RFC3696) should be invalid "Fred\\ Bloggs@example.com" (Was incorrectly given as a valid address in the original RFC3696) should be invalid "Joe.\\\\Blow@example.com" (Was incorrectly given as a valid address in the original RFC3696) should be invalid "\"test\\\r\n blah\"@example.com" (Folding white space can't appear within a quoted pair) should be invalid "\"test\r\n blah\"@example.com" (This is a valid quoted string with folding white space) should be valid passes double-canonicalization test "{^c\\@**Dog^}@cartoon.com" (This is a throwaway example from Doug Lovell's article. Actually it's not a valid address.) should be invalid "(foo)cal(bar)@(baz)iamcal.com(quux)" (A valid address containing comments) should be valid passes double-canonicalization test "cal@iamcal(woo).(yay)com" (A valid address containing comments) should be valid passes double-canonicalization test "cal(woo(yay)hoopla)@iamcal.com" (A valid address containing comments) should be valid passes double-canonicalization test "cal(foo\\@bar)@iamcal.com" (A valid address containing comments) should be valid passes double-canonicalization test "cal(foo\\)bar)@iamcal.com" (A valid address containing comments and an escaped parenthesis) should be valid passes double-canonicalization test "cal(foo(bar)@iamcal.com" (Unclosed parenthesis in comment) should be invalid "cal(foo)bar)@iamcal.com" (Too many closing parentheses) should be invalid "cal(foo\\)@iamcal.com" (Backslash at end of comment has nothing to escape) should be invalid "first().last@example.com" (A valid address containing an empty comment) should be valid passes double-canonicalization test "first.(\r\n middle\r\n )last@example.com" (Comment with folding white space) should be valid passes double-canonicalization test "first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com" (Too long with comments, not too long without) should be invalid "first(Welcome to\r\n the (\"wonderful\" (!)) world\r\n of email)@example.com" (Silly example from my blog post) should be valid passes double-canonicalization test "pete(his account)@silly.test(his host)" (Canonical example from RFC5322) should be valid passes double-canonicalization test "c@(Chris's host.)public.example" (Canonical example from RFC5322) should be valid passes double-canonicalization test "jdoe@machine(comment). example" (Canonical example from RFC5322) should be valid passes double-canonicalization test "1234 @ local(blah) .machine .example" (Canonical example from RFC5322) should be valid passes double-canonicalization test "first(middle)last@example.com" (Can't have a comment or white space except at an element boundary) should be invalid "first(abc.def).last@example.com" (Comment can contain a dot) should be valid passes double-canonicalization test "first(a\"bc.def).last@example.com" (Comment can contain double quote) should be valid passes double-canonicalization test "first.(\")middle.last(\")@example.com" (Comment can contain a quote) should be valid passes double-canonicalization test "first(abc(\"def\".ghi).mno)middle(abc(\"def\".ghi).mno).last@(abc(\"def\".ghi).mno)example(abc(\"def\".ghi).mno).(abc(\"def\".ghi).mno)com(abc(\"def\".ghi).mno)" (Can't have comments or white space except at an element boundary) should be invalid "first(abc\\(def)@example.com" (Comment can contain quoted-pair) should be valid passes double-canonicalization test "first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com" (Label is longer than 63 octets, but not with comment removed) should be valid passes double-canonicalization test "a(a(b(c)d(e(f))g)h(i)j)@example.com" should be valid passes double-canonicalization test "a(a(b(c)d(e(f))g)(h(i)j)@example.com" (Braces are not properly matched) should be invalid "name.lastname@domain.com" should be valid passes double-canonicalization test ".@" should be invalid "@bar.com" should be invalid "@@bar.com" should be invalid "a@bar.com" should be valid passes double-canonicalization test "aaa.com" should be invalid "aaa@.com" should be invalid "aaa@.123" should be invalid "aaa@[123.123.123.123]" should be valid passes double-canonicalization test "aaa@[123.123.123.123]a" (extra data outside ip) should be invalid "a@bar.com." should be valid passes double-canonicalization test "a-b@bar.com" should be valid passes double-canonicalization test "+@b.c" (TLDs can be any length) should be valid passes double-canonicalization test "+@b.com" should be valid passes double-canonicalization test "-@..com" should be invalid "-@a..com" should be invalid "a@b.co-foo.uk" should be valid passes double-canonicalization test "\"hello my name is\"@stutter.com" should be valid passes double-canonicalization test "\"Test \\\"Fail\\\" Ing\"@example.com" should be valid passes double-canonicalization test "valid@special.museum" should be valid passes double-canonicalization test "shaitan@my-domain.thisisminekthx" (Disagree with Paul Gregg here) should be valid passes double-canonicalization test "test@...........com" (......) should be invalid "\"Joe\\\\Blow\"@example.com" should be valid passes double-canonicalization test "Invalid \\\n Folding \\\n Whitespace@example.com" (This isn't FWS so Dominic Sayers says it's invalid) should be invalid "HM2Kinsists@(that comments are allowed)this.is.ok" should be valid passes double-canonicalization test "user%uucp!path@somehost.edu" should be valid passes double-canonicalization test "\"first(last)\"@example.com" should be valid passes double-canonicalization test " \r\n (\r\n x \r\n ) \r\n first\r\n ( \r\n x\r\n ) \r\n .\r\n ( \r\n x) \r\n last \r\n ( x \r\n ) \r\n @example.com" should be valid passes double-canonicalization test "test.\r\n \r\n obs@syntax.com" (obs-fws allows multiple lines) should be valid passes double-canonicalization test "test. \r\n \r\n obs@syntax.com" (obs-fws allows multiple lines (test 2: space before break)) should be valid passes double-canonicalization test "test.\r\n\r\n obs@syntax.com" (obs-fws must have at least one WSP per line) should be invalid "\"null \\\NUL\"@char.com" (can have escaped null character) should be valid passes double-canonicalization test "\"null \NUL\"@char.com" (cannot have unescaped null character) should be invalid "a@b" should be valid passes double-canonicalization test "a@bar" should be valid passes double-canonicalization test "invalid@special.museum-" (domain can't end with hyphen) should be invalid "a@-b.com" (domain can't start with hyphen) should be invalid "a@b-.com" (domain label can't end with hyphen) should be invalid "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@x" (local-part longer than 64 octets) should be invalid should have correct error message "x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456" (Domain exceeds 255 chars) should be invalid "test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com" (255 characters is maximum length for domain. This is 256.) should be invalid "123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.1234.example.com" (Entire address is longer than 254 characters (this is 257)) should be invalid "123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123.example.com" (Entire address is longer than 254 characters (this is 256)) should be invalid "123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com" (Entire address is longer than 254 characters (this is 255)) should be invalid "123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.1.example.com" (Entire address is 254 characters) should be valid passes double-canonicalization test "first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com" (Label can't be longer than 63 octets) should be invalid "first.last@e.-xample.com" (Label can't begin with a hyphen) should be invalid "first.last@exampl-.e.com" (Label can't end with a hyphen) should be invalid GitHub issue #12 is fixed Trailing dot is canonicalized localPart extracts local part domainPart extracts domain part QuasiQuoter works as expected Finished in 0.0099 seconds 340 examples, 0 failures Test suite Main: PASS Test suite logged to: dist/test/email-validate-2.3.2.13-Main.log 1 of 2 test suites (1 of 2 test cases) passed. * ERROR: dev-haskell/email-validate-2.3.2.13::gentoo failed (test phase): * cabal test failed * * Call stack: * ebuild.sh, line 127: Called src_test * environment, line 1849: Called haskell-cabal_src_test * environment, line 1518: Called die * The specific snippet of code: * ./setup "$@" || die "cabal test failed"; * * If you need support, post the output of `emerge --info '=dev-haskell/email-validate-2.3.2.13::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-haskell/email-validate-2.3.2.13::gentoo'`. * The complete build log is located at '/var/log/portage/dev-haskell:email-validate-2.3.2.13:20210818-221654.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-haskell/email-validate-2.3.2.13/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-haskell/email-validate-2.3.2.13/temp/environment'. * Working directory: '/var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13' * S: '/var/tmp/portage/dev-haskell/email-validate-2.3.2.13/work/email-validate-2.3.2.13'