Commit 3eadcff2 authored by Jan Rybar's avatar Jan Rybar

Merge branch 'wip/hadess/add-ci' into 'master'

ci: Add a CI and run tests

See merge request !46
parents 721e0a5a cd1dc645
Pipeline #111336 passed with stage
in 2 minutes and 37 seconds
image: fedora:rawhide
variables:
DEPENDENCIES: gcc
gcc-c++
libtool
autoconf
automake
gtk-doc
intltool
gobject-introspection-devel
make
libxslt
pkgconfig(gio-2.0)
pkgconfig(mozjs-60)
expat-devel
pkgconfig(libsystemd)
pkgconfig(systemd)
pam-devel
python3-dbusmock
build_stable:
before_script:
- dnf upgrade -y --nogpgcheck fedora-release fedora-repos*
- dnf update -y && dnf install -y $DEPENDENCIES
script:
- mkdir _build
- cd _build
- CPPFLAGS='-D_FORTIFY_SOURCE=2' ../autogen.sh
--disable-dependency-tracking
--enable-ansi
--enable-man-pages
--enable-test
--enable-libsystemd-login=yes
--enable-libelogind=no
- make
- make check
- make install
artifacts:
name: 'test logs'
when: 'always'
paths:
- '_build/test/*/*.log'
......@@ -1153,8 +1153,9 @@ polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveA
if (identity == NULL)
{
polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
"Identity `%s' is not valid, ignoring",
identity_str);
"Identity `%s' is not valid, ignoring (%s)",
identity_str, error->message);
g_clear_error (&error);
}
else
{
......
......@@ -33,16 +33,16 @@ TEST_PROGS =
# ----------------------------------------------------------------------------------------------------
TEST_PROGS += polkitbackendjsauthoritytest
polkitbackendjsauthoritytest_SOURCES = test-polkitbackendjsauthority.c
# force C++ link via dummy C++ file, (see GNU automake manual section 8.3.5)
nodist_EXTRA_polkitbackendjsauthoritytest_SOURCES = dummy-force-cpp-link.cxx
TESTS_ENVIRONMENT = TOP_BUILD_DIR="$(top_builddir)"
TEST_PROGS += polkitbackendjsauthoritytest-wrapper.py
# ----------------------------------------------------------------------------------------------------
noinst_PROGRAMS = $(TEST_PROGS)
check_PROGRAMS = $(TEST_PROGS)
noinst_PROGRAMS = polkitbackendjsauthoritytest
TESTS = $(TEST_PROGS)
clean-local :
......
#!/usr/bin/python3
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 3 of the License, or (at your option) any
# later version. See http://www.gnu.org/copyleft/lgpl.html for the full text
# of the license.
__author__ = 'Bastien Nocera'
__email__ = 'hadess@hadess.net'
__copyright__ = '(c) 2020 Red Hat Inc.'
__license__ = 'LGPL 3+'
import unittest
import sys
import subprocess
import dbus
import dbus.mainloop.glib
import dbusmock
import os
import time
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
class TestPolkitBackendJsAuthority(dbusmock.DBusTestCase):
'''Test polkitbackendjsauthoritytest'''
@classmethod
def setUpClass(klass):
klass.start_system_bus()
klass.top_build_dir = '../../'
if 'TOP_BUILD_DIR' in os.environ:
klass.top_build_dir = os.environ['TOP_BUILD_DIR']
klass.mocklibc_path = klass.top_build_dir + '/test/mocklibc/bin/mocklibc'
assert(os.path.exists(klass.mocklibc_path))
print ('Top build dir: %s' % klass.top_build_dir)
klass.top_src_dir = os.path.dirname(os.path.realpath(__file__)) + '/../../'
if 'TOP_SRC_DIR' in os.environ:
klass.top_src_dir = os.environ['TOP_SRC_DIR']
print ('Top source dir: %s' % klass.top_src_dir)
os.environ['POLKIT_TEST_DATA'] = klass.top_src_dir + '/test/data'
print ('Polkit test data dir: %s' % os.environ['POLKIT_TEST_DATA'])
os.environ['MOCK_PASSWD'] = klass.top_src_dir + '/test/data/etc/passwd'
print ('Mock password file: %s' % os.environ['MOCK_PASSWD'])
os.environ['MOCK_GROUP'] = klass.top_src_dir + '/test/data/etc/group'
print ('Mock group file: %s' % os.environ['MOCK_GROUP'])
os.environ['MOCK_NETGROUP'] = klass.top_src_dir + '/test/data/etc/netgroup'
print ('Mock netgroup file: %s' % os.environ['MOCK_NETGROUP'])
def test_polkitbackendjsauthoritytest(self):
# Add '; exit 0' at the end of the cmd line if launching fails and you
# want to capture the error output
out = subprocess.check_output(self.mocklibc_path + ' ' + self.top_build_dir + '/test/polkitbackend/polkitbackendjsauthoritytest',
stderr=subprocess.STDOUT,
shell=True,
universal_newlines=True)
print(out)
if __name__ == '__main__':
# avoid writing to stderr
unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2))
......@@ -101,7 +101,7 @@ test_get_admin_identities_for_action_id (const gchar *action_id,
g_assert_cmpstr (expected_admins[n], ==, s);
g_free (s);
}
g_assert (expected_admins[n] == NULL);
g_assert_cmpstr (expected_admins[n], ==, NULL);
g_list_free_full (admin_identities, g_object_unref);
g_clear_object (&details);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment