Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 686306 - net-misc/httpie-1.0.2: test failure
Summary: net-misc/httpie-1.0.2: test failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Ralph Seichter
URL:
Whiteboard:
Keywords: PullRequest, TESTFAILURE
Depends on:
Blocks: 685466
  Show dependency tree
 
Reported: 2019-05-19 11:30 UTC by Thomas Deutschmann (RETIRED)
Modified: 2019-06-29 14:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,43.03 KB, text/plain)
2019-05-19 11:30 UTC, Thomas Deutschmann (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2019-05-19 11:30:15 UTC
Created attachment 577294 [details]
build.log

> ======================================================= FAILURES =======================================================
> ______________________ TestBinaryResponseData.test_binary_suppresses_when_not_terminal_but_pretty ______________________
> 
> self = <test_binary.TestBinaryResponseData instance at 0xb4471f6c>
> httpbin = <Server(<class 'pytest_httpbin.serve.Server'>, started -1261581504)>
> 
>     def test_binary_suppresses_when_not_terminal_but_pretty(self, httpbin):
>         env = MockEnvironment(stdin_isatty=True, stdout_isatty=False)
>         r = http('--pretty=all', 'GET', httpbin + '/bytes/1024', env=env)
> >       assert BINARY_SUPPRESSED_NOTICE.decode() in r
> E       AssertionError: assert '\n+-----------------------------------------+\n| NOTE: binary data not shown in terminal |\n+-----------------------------------------+' in u'\x16.\x1d\ufffd\ufffd\ufffd]\ufffd\ufffd\ufffd\ufffdq\ufffd\ufffd\ufffd\ufff...ed1\ufffd3\x1eD\ufffdHE\ufffd\x05\ufffd-\ufffdl\u049e\ufffds\x15T\ufffd\ufffd0'
> E        +  where '\n+-----------------------------------------+\n| NOTE: binary data not shown in terminal |\n+-----------------------------------------+' = <built-in method decode of str object at 0xb4f22200>()
> E        +    where <built-in method decode of str object at 0xb4f22200> = '\n+-----------------------------------------+\n| NOTE: binary data not shown in terminal |\n+-----------------------------------------+'.decode
> 
> tests/test_binary.py:43: AssertionError
> ------------------------------------------------- Captured stderr call -------------------------------------------------
> 127.0.0.1 - - [19/May/2019 03:15:44] "GET /bytes/1024 HTTP/1.1" 200 1024
> ________________________________________________ test_ssl_version[ssl3] ________________________________________________
> 
> httpbin_secure = <SecureServer(<class 'pytest_httpbin.serve.SecureServer'>, started -1271923904)>, ssl_version = 'ssl3'
> 
>     @pytest.mark.parametrize('ssl_version', SSL_VERSION_ARG_MAPPING.keys())
>     def test_ssl_version(httpbin_secure, ssl_version):
>         try:
>             r = http(
>                 '--ssl', ssl_version,
>                 httpbin_secure + '/get'
>             )
>             assert HTTP_OK in r
>         except ssl_errors as e:
>             if ssl_version == 'ssl3':
>                 # pytest-httpbin doesn't support ssl3
> >               assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in str(e)
> E               assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in 'HTTPSConnectionPool(host=\'127.0.0.1\', port=34397): Max retries exceeded with url: /get (Caused by SSLError(SSLError("bad handshake: Error([(\'SSL routines\', \'ssl3_read_bytes\', \'sslv3 alert handshake failure\')],)",),))'
> E                +  where 'HTTPSConnectionPool(host=\'127.0.0.1\', port=34397): Max retries exceeded with url: /get (Caused by SSLError(SSLError("bad handshake: Error([(\'SSL routines\', \'ssl3_read_bytes\', \'sslv3 alert handshake failure\')],)",),))' = str(SSLError(MaxRetryError('HTTPSConnectionPool(host=\'127.0.0.1\', port=34397): M...utines\', \'ssl3_read_bytes\', \'sslv3 alert handshake failure\')],)",),))',),))
> 
> tests/test_ssl.py:48: AssertionError
> ------------------------------------------------- Captured stdout call -------------------------------------------------
> pytest-httpbin server hit an exception serving request: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:726)
> attempting to ignore so the rest of the tests can run
> ------------------------------------------------- Captured stderr call -------------------------------------------------
> 
> http: error: SSLError: HTTPSConnectionPool(host='127.0.0.1', port=34397): Max retries exceeded with url: /get (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')],)",),)) while doing GET request to URL: https://127.0.0.1:34397/get
> =================================================== warnings summary ===================================================
> tests/test_auth.py::test_basic_auth[https]
>   /usr/lib/python2.7/site-packages/urllib3/connection.py:362: SubjectAltNameWarning: Certificate for 127.0.0.1 has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
>     SubjectAltNameWarning
> 
> tests/test_ssl.py::TestServerCert::()::test_verify_no_OK
>   /usr/lib/python2.7/site-packages/urllib3/connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
>     InsecureRequestWarning)
> 
> tests/test_unicode.py::test_unicode_basic_auth
>   /usr/lib/python2.7/site-packages/httpbin/helpers.py:256: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
>     return auth and auth.username == user and auth.password == passwd
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> ============================= 2 failed, 234 passed, 3 skipped, 3 warnings in 19.30 seconds =============================
>  * ERROR: net-misc/httpie-1.0.2::gentoo failed (test phase):
>  *   Tests failed with python2.7


Portage 2.3.62 (python 3.6.5-final-0, default/linux/x86/17.0, gcc-8.2.0, glibc-2.29-r2, 4.19.27-gentoo-r1 i686)
=================================================================
System uname: Linux-4.19.27-gentoo-r1-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.6
KiB Mem:     3106596 total,    436820 free
KiB Swap:     488276 total,    452180 free
Timestamp of repository gentoo: Sat, 18 May 2019 20:44:31 +0000
Head commit of repository gentoo: be3ad16df89024fc853bd8b6415ba51431f87404

sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.31.1 p7) 2.31.1
ccache version 3.6 [disabled]
app-shells/bash:          4.4_p23-r1::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.26.2::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/ccache:          3.6::gentoo
dev-util/cmake:           3.9.6::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.31.1-r6::gentoo
sys-devel/gcc:            8.2.0-r6::gentoo, 8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ARCH="x86"
BROOT=""
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/*"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /opt/fhem /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/fhem"
CPU_FLAGS_X86="mmx mmxext sse sse2"
CXXFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
EPREFIX=""
EROOT="/"
ESYSROOT="/"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/8.2.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.31.1/info:/usr/share/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-guest prefix-stack"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MULTILIB_ABIS="x86"
NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OLDPWD="/usr/portage/sys-devel/llvm"
OPENCL_PROFILE="ocl-icd"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/lib/llvm/7/bin:/usr/lib/llvm/6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
PHP_TARGETS="php5-6 php7-1 php7-2 php7-3"
POSTGRES_TARGETS="postgres9_5 postgres10"
PWD="/tmp/stable"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_6"
PYTHON_TARGETS="python2_7 python3_6"
QT_GRAPHICSSYSTEM="raster"
ROOT="/"
ROOTPATH="/usr/lib/llvm/7/bin:/usr/lib/llvm/6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
RUBY_TARGETS="ruby24"
SBCL_HOME="/usr/lib/sbcl"
SBCL_SOURCE_ROOT="/usr/lib/sbcl/src"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
SYSROOT="/"
TERM="tmux-256color"
TMUX="/tmp//tmux-0/default,4271,0"
TMUX_PANE="%2"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="vmware"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
Comment 1 Ralph Seichter 2019-05-19 15:36:58 UTC
Hmm. Not quite sure what to do about this. The test comment notes that "pytest-httpbin doesn't support ssl3", so pytest-httpbin subsequently failing with SSLv3 does not surprise me overly.

https://github.com/jakubroztocil/httpie/issues/647 might be related, but I am not certain. Any suggestion on how to proceed?
Comment 2 Ralph Seichter 2019-06-03 13:25:00 UTC
I have filed an upstream issue two weeks ago, but there has not been any response so far.
Comment 3 Larry the Git Cow gentoo-dev 2019-06-29 14:55:46 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c24ce845a8c9999079c422f6b0512f74f901ec3

commit 3c24ce845a8c9999079c422f6b0512f74f901ec3
Author:     Ralph Seichter <github@seichter.de>
AuthorDate: 2019-06-29 14:45:06 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2019-06-29 14:55:02 +0000

    net-misc/httpie: fix test failures
    
    * test_ssl.py states that "pytest-httpbin doesn't support ssl3" and
    asserts that a caught exception contains a certain string. A patch in
    this ebuild extends the list of expected strings.
    
    * Added dependency to dev-python/mock.
    
    Closes: https://bugs.gentoo.org/686306
    Signed-off-by: Ralph Seichter <gentoo@seichter.de>
    Package-Manager: Portage-2.3.66, Repoman-2.3.11
    Closes: https://github.com/gentoo/gentoo/pull/12352
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 .../httpie/files/httpie-1.0.2-fix-test_ssl.patch   | 11 ++++++
 net-misc/httpie/httpie-1.0.2-r1.ebuild             | 43 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)