Here is a patch for https://fedorahosted.org/sssd/ticket/2820

First real patch... criticisms to for what I need to improve on are welcome, including concepts that I should learn, thanks.

Test output below:

----------------------------------------------------------------------
Libraries have been installed in:
   /tmp/sssd-intg.sgV3vS4v/lib/sssd

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/tmp/sssd-intg.sgV3vS4v/lib'
 /bin/sh ./libtool   --mode=install /bin/install -c   libsss_sudo.la '/tmp/sssd-intg.sgV3vS4v/lib'
libtool: install: /bin/install -c .libs/libsss_sudo.so /tmp/sssd-intg.sgV3vS4v/lib/libsss_sudo.so
libtool: install: /bin/install -c .libs/libsss_sudo.lai /tmp/sssd-intg.sgV3vS4v/lib/libsss_sudo.la
libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig -n /tmp/sssd-intg.sgV3vS4v/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /tmp/sssd-intg.sgV3vS4v/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make  install-data-hook
make[5]: Entering directory '/root/sssd.git/x86_64/intg/bld'
rm //tmp/sssd-intg.sgV3vS4v/lib/libnss_sss.so.2 \
       //tmp/sssd-intg.sgV3vS4v/lib/libnss_sss.so
mv //tmp/sssd-intg.sgV3vS4v/lib/libnss_sss.so.2.0.0 //tmp/sssd-intg.sgV3vS4v/lib/libnss_sss.so.2
if [ ! __LIBKRB5_DEFAULTS__ = "__LIBKRB5_DEFAULTS__" ]; then \
        /bin/mkdir -p /__LIBKRB5_DEFAULTS__ ; \
fi
make[5]: Leaving directory '/root/sssd.git/x86_64/intg/bld'
make[4]: Leaving directory '/root/sssd.git/x86_64/intg/bld'
make[3]: Leaving directory '/root/sssd.git/x86_64/intg/bld'
Making install in src/tests/cwrap
make[3]: Entering directory '/root/sssd.git/x86_64/intg/bld/src/tests/cwrap'
make[4]: Entering directory '/root/sssd.git/x86_64/intg/bld/src/tests/cwrap'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/root/sssd.git/x86_64/intg/bld/src/tests/cwrap'
make[3]: Leaving directory '/root/sssd.git/x86_64/intg/bld/src/tests/cwrap'
Making install in src/tests/intg
make[3]: Entering directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'
make[4]: Entering directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'
make[3]: Leaving directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'
make[2]: Leaving directory '/root/sssd.git/x86_64/intg/bld'
make[1]: Leaving directory '/root/sssd.git/x86_64/intg/bld'
make[1]: Entering directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'
m4 -D "prefix=\`/tmp/sssd-intg.sgV3vS4v'" \
   -D "sysconfdir=\`/tmp/sssd-intg.sgV3vS4v/etc'" \
   -D "dbpath=\`/tmp/sssd-intg.sgV3vS4v/var/lib/sss/db'" \
   -D "pidpath=\`/tmp/sssd-intg.sgV3vS4v/var/run'" \
   -D "logpath=\`/tmp/sssd-intg.sgV3vS4v/var/log/sssd'" \
   -D "mcpath=\`/tmp/sssd-intg.sgV3vS4v/var/lib/sss/mc'" \
   /root/sssd.git/x86_64/../src/tests/intg/config.py.m4 > config.py
: "Create directory for emulated root's D-Bus cookies."
: "See http://dbus.freedesktop.org/doc/dbus-specification.html#auth-mechanisms"
/bin/mkdir -p -m 0700 root/.dbus-keyrings
echo "root:x:0:0:root:/root/sssd.git/x86_64/intg/bld/src/tests/intg/root:/bin/bash" > passwd
echo "root:x:0:" > group
pipepath="/tmp/sssd-intg.sgV3vS4v/var/lib/sss/pipes"; \
if test ${#pipepath} -gt 80; then \
    echo "error: Pipe directory path too long," \
         "D-Bus won't be able to open sockets" >&2; \
    exit 1; \
fi
set -e; \
cd "/root/sssd.git/x86_64/../src/tests/intg"; \
nss_wrapper=$(pkg-config --libs nss_wrapper); \
uid_wrapper=$(pkg-config --libs uid_wrapper); \
PATH="$(dirname -- /sbin/slapd):$PATH" \
PATH="/tmp/sssd-intg.sgV3vS4v/sbin:/tmp/sssd-intg.sgV3vS4v/bin:$PATH" \
PATH="/root/sssd.git/x86_64/intg/bld/src/tests/intg:/root/sssd.git/x86_64/../src/tests/intg:$PATH" \
PYTHONPATH="/root/sssd.git/x86_64/intg/bld/src/tests/intg:/root/sssd.git/x86_64/../src/tests/intg" \
LDB_MODULES_PATH="/tmp/sssd-intg.sgV3vS4v/lib/ldb" \
LD_PRELOAD="$nss_wrapper $uid_wrapper" \
NSS_WRAPPER_PASSWD="/root/sssd.git/x86_64/intg/bld/src/tests/intg/passwd" \
NSS_WRAPPER_GROUP="/root/sssd.git/x86_64/intg/bld/src/tests/intg/group" \
NSS_WRAPPER_MODULE_SO_PATH="/tmp/sssd-intg.sgV3vS4v/lib/libnss_sss.so.2" \
NSS_WRAPPER_MODULE_FN_PREFIX="sss" \
UID_WRAPPER=1 \
UID_WRAPPER_ROOT=1 \
    fakeroot /bin/python2 /bin/py.test -v --tb=native  .
============================================================= test session starts ==============================================================
platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3 -- /bin/python2
rootdir: /root/sssd.git/src/tests/intg, inifile:
collected 73 items

ent_test.py::test_assert_passwd_by_name PASSED
ent_test.py::test_assert_passwd_by_uid PASSED
ent_test.py::test_assert_passwd_list PASSED
ent_test.py::test_assert_each_passwd_by_name PASSED
ent_test.py::test_assert_each_passwd_by_uid PASSED
ent_test.py::test_assert_each_passwd_with_name PASSED
ent_test.py::test_assert_each_passwd_with_uid PASSED
ent_test.py::test_assert_passwd PASSED
ent_test.py::test_group_member_matching PASSED
ent_test.py::test_assert_group_by_name PASSED
ent_test.py::test_assert_group_by_gid PASSED
ent_test.py::test_assert_group_list PASSED
ent_test.py::test_assert_each_group_by_name PASSED
ent_test.py::test_assert_each_group_by_gid PASSED
ent_test.py::test_assert_each_group_with_name PASSED
ent_test.py::test_assert_each_group_with_gid PASSED
ent_test.py::test_assert_group PASSED
ldap_local_override_test.py::test_simple_user_override PASSED
ldap_local_override_test.py::test_root_user_override PASSED
ldap_local_override_test.py::test_replace_user_override PASSED
ldap_local_override_test.py::test_remove_user_override PASSED
ldap_local_override_test.py::test_imp_exp_user_override PASSED
ldap_local_override_test.py::test_show_user_override PASSED
ldap_local_override_test.py::test_find_user_override PASSED
ldap_local_override_test.py::test_simple_group_override PASSED
ldap_local_override_test.py::test_root_group_override PASSED
ldap_local_override_test.py::test_replace_group_override PASSED
ldap_local_override_test.py::test_remove_group_override PASSED
ldap_local_override_test.py::test_imp_exp_group_override PASSED
ldap_local_override_test.py::test_regr_2802_override PASSED
ldap_local_override_test.py::test_regr_2757_override PASSED
ldap_local_override_test.py::test_regr_2790_override PASSED
ldap_test.py::test_regression_ticket2163 PASSED
ldap_test.py::test_sanity_rfc2307 PASSED
ldap_test.py::test_sanity_rfc2307_bis PASSED
ldap_test.py::test_refresh_after_cleanup_task PASSED
ldap_test.py::test_add_remove_user PASSED
ldap_test.py::test_add_remove_group_rfc2307 PASSED
ldap_test.py::test_add_remove_group_rfc2307_bis PASSED
ldap_test.py::test_add_remove_membership_rfc2307 PASSED
ldap_test.py::test_add_remove_membership_rfc2307_bis PASSED
ldap_test.py::test_override_homedir PASSED
ldap_test.py::test_fallback_homedir PASSED
ldap_test.py::test_override_shell PASSED
ldap_test.py::test_shell_fallback PASSED
ldap_test.py::test_default_shell PASSED
ldap_test.py::test_vetoed_shells PASSED
test_local_domain.py::test_wrong_LC_ALL PASSED
test_memory_cache.py::test_getpwnam PASSED
test_memory_cache.py::test_getpwnam_with_mc PASSED
test_memory_cache.py::test_getgrnam_simple PASSED
test_memory_cache.py::test_getgrnam_simple_with_mc PASSED
test_memory_cache.py::test_getgrnam_membership PASSED
test_memory_cache.py::test_getgrnam_membership_with_mc PASSED
test_memory_cache.py::test_initgroups PASSED
test_memory_cache.py::test_initgroups_with_mc PASSED
test_memory_cache.py::test_initgroups_fqname_with_mc PASSED
test_memory_cache.py::test_initgroups_case_insensitive_with_mc1 PASSED
test_memory_cache.py::test_initgroups_case_insensitive_with_mc2 PASSED
test_memory_cache.py::test_initgroups_case_insensitive_with_mc3 PASSED
test_memory_cache.py::test_invalidation_of_gids_after_initgroups PASSED
test_memory_cache.py::test_initgroups_without_change_in_membership PASSED
test_memory_cache.py::test_invalidate_user_before_stop PASSED
test_memory_cache.py::test_invalidate_user_after_stop PASSED
test_memory_cache.py::test_invalidate_users_before_stop PASSED
test_memory_cache.py::test_invalidate_users_after_stop PASSED
test_memory_cache.py::test_invalidate_group_before_stop PASSED
test_memory_cache.py::test_invalidate_group_after_stop PASSED
test_memory_cache.py::test_invalidate_groups_before_stop PASSED
test_memory_cache.py::test_invalidate_groups_after_stop PASSED
test_memory_cache.py::test_invalidate_everything_before_stop PASSED
test_memory_cache.py::test_invalidate_everything_after_stop PASSED
test_memory_cache.py::test_removed_mc PASSED

========================================================= 73 passed in 203.32 seconds ==========================================================
rm -f /tmp/sssd-intg.sgV3vS4v/var/log/sssd/*
make[1]: Leaving directory '/root/sssd.git/x86_64/intg/bld/src/tests/intg'