From 5ee8f8cb59a529028bc9bae8833a1e89c11c1d58 Mon Sep 17 00:00:00 2001 From: Floris Bruynooghe Date: Sat, 20 Jul 2019 23:23:00 +0200 Subject: [PATCH 1/3] Several fixes to the intergration tests - Pass extra_link_args when using an installed libdeltachat - Allow setting the liveconfig by envvar - Show lifeconfig path in the pytest summary line - Pass required envvars through tox - Fix broken liveconfig passing in run-integration-test.sh --- python/src/deltachat/_build.py | 5 +++-- python/tests/conftest.py | 22 +++++++++++++++++----- python/tox.ini | 2 ++ run-integration-tests.sh | 7 +++---- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/python/src/deltachat/_build.py b/python/src/deltachat/_build.py index 651d8edde..fd0641cd8 100644 --- a/python/src/deltachat/_build.py +++ b/python/src/deltachat/_build.py @@ -30,6 +30,7 @@ def ffibuilder(): libs = ['deltachat'] objs = [] incs = [] + extra_link_args = [] builder = cffi.FFI() builder.set_source( 'deltachat.capi', @@ -69,8 +70,8 @@ def ffibuilder(): distutils.sysconfig.customize_compiler(cc) tmpdir = tempfile.mkdtemp() try: - src_name = os.path.join(tmpdir, "prep.h") - dst_name = os.path.join(tmpdir, "prep2.c") + src_name = os.path.join(tmpdir, "include.h") + dst_name = os.path.join(tmpdir, "expanded.h") with open(src_name, "w") as src_fp: src_fp.write('#include ') cc.preprocess(source=src_name, diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 64668d938..cf60d57dc 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -16,6 +16,14 @@ def pytest_addoption(parser): ) +def pytest_configure(config): + cfg = config.getoption('--liveconfig') + if not cfg: + cfg = os.getenv('DCC_PY_LIVECONFIG') + if cfg: + config.option.liveconfig = cfg + + def pytest_report_header(config, startdir): t = tempfile.mktemp() try: @@ -24,10 +32,14 @@ def pytest_report_header(config, startdir): del ac finally: os.remove(t) - return "Deltachat core={} sqlite={}".format( - info['deltachat_core_version'], - info['sqlite_version'], - ) + summary = ['Deltachat core={} sqlite={}'.format( + info['deltachat_core_version'], + info['sqlite_version'], + )] + cfg = config.getoption('--liveconfig') + if cfg: + summary.append('Liveconfig: {}'.format(os.path.abspath(cfg))) + return summary @pytest.fixture(scope="session") @@ -64,7 +76,7 @@ def acfactory(pytestconfig, tmpdir, request): def configlist(self): configlist = [] for line in open(fn): - if line.strip(): + if line.strip() and not line.strip().startswith('#'): d = {} for part in line.split(): name, value = part.split("=") diff --git a/python/tox.ini b/python/tox.ini index ccac3dee6..ba2a3b029 100644 --- a/python/tox.ini +++ b/python/tox.ini @@ -13,6 +13,8 @@ commands = passenv = TRAVIS DCC_RS_DEV + DCC_RS_TARGET + DCC_PY_LIVECONFIG deps = pytest pytest-faulthandler diff --git a/run-integration-tests.sh b/run-integration-tests.sh index 579a7b662..8633bdd77 100755 --- a/run-integration-tests.sh +++ b/run-integration-tests.sh @@ -23,11 +23,10 @@ if [ $? != 0 ]; then fi pushd python -toxargs="$@" -if [ -e liveconfig ]; then - toxargs="--liveconfig liveconfig $@" +if [ -e "./liveconfig" ]; then + export DCC_PY_LIVECONFIG=liveconfig fi -tox $toxargs +tox "$@" ret=$? popd exit $ret From 4a0b2e68c8ecff9c8fa45f9999692cac0c5b6ecf Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sun, 21 Jul 2019 22:52:28 +0300 Subject: [PATCH 2/3] Add DC_CMD_* constants --- src/constants.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/constants.rs b/src/constants.rs index ac956be43..de50237fc 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -491,3 +491,12 @@ pub enum KeyType { Public = 0, Private = 1, } + +pub const DC_CMD_GROUPNAME_CHANGED: libc::c_int = 2; +pub const DC_CMD_GROUPIMAGE_CHANGED: libc::c_int = 3; +pub const DC_CMD_MEMBER_ADDED_TO_GROUP: libc::c_int = 4; +pub const DC_CMD_MEMBER_REMOVED_FROM_GROUP: libc::c_int = 5; +pub const DC_CMD_AUTOCRYPT_SETUP_MESSAGE: libc::c_int = 6; +pub const DC_CMD_SECUREJOIN_MESSAGE: libc::c_int = 7; +pub const DC_CMD_LOCATION_STREAMING_ENABLED: libc::c_int = 8; +pub const DC_CMD_LOCATION_ONLY: libc::c_int = 9; From 56f8717a40f2d8481d8bf9bb766aeeb78acbbac0 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sun, 21 Jul 2019 22:22:11 +0300 Subject: [PATCH 3/3] Show AutocryptSetupMessage independently of show-emails settings Fixes #161 --- src/dc_receive_imf.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 913d76380..ae71b4827 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -215,7 +215,9 @@ pub unsafe fn dc_receive_imf( maybe this can be optimized later, by checking the state before the message body is downloaded */ let mut allow_creation: libc::c_int = 1; - if msgrmsg == 0 { + if mime_parser.is_system_message != DC_CMD_AUTOCRYPT_SETUP_MESSAGE + && msgrmsg == 0 + { let show_emails = context .sql .get_config_int(context, "show_emails")