diff --git a/.gitlab-ci-main.yml b/.gitlab-ci-main.yml index 44ab4d1345d..8bc33ecfc4d 100644 --- a/.gitlab-ci-main.yml +++ b/.gitlab-ci-main.yml @@ -47,7 +47,7 @@ variables: # Set this to the contents of bootstrap/sha1sum.txt # which is generated by bootstrap/template.py --render # - SAMBA_CI_CONTAINER_TAG: a5335bb5004bdcba5ab7e064164d5e70b76bea0f + SAMBA_CI_CONTAINER_TAG: ae284a5a64fcff65729bf50b5b0cfdba16afc682 # # We use the ubuntu1804 image as default as # it matches what we have on sn-devel-184. @@ -59,6 +59,7 @@ variables: # We should run that for each available image # SAMBA_CI_CONTAINER_IMAGE_ubuntu1804: ubuntu1804 + SAMBA_CI_CONTAINER_IMAGE_ubuntu1804_32bit: ubuntu1804-32bit SAMBA_CI_CONTAINER_IMAGE_ubuntu2004: ubuntu2004 SAMBA_CI_CONTAINER_IMAGE_debian11: debian11 SAMBA_CI_CONTAINER_IMAGE_opensuse154: opensuse154 @@ -576,6 +577,12 @@ coverity: paths: - cov-int/*.txt +ubuntu1804-samba-32bit: + extends: .shared_template + variables: + AUTOBUILD_JOB_NAME: samba-32bit + SAMBA_CI_JOB_IMAGE: ${SAMBA_CI_CONTAINER_IMAGE_ubuntu1804_32bit} + # # We build samba-o3 on all supported distributions # diff --git a/bootstrap/.gitlab-ci.yml b/bootstrap/.gitlab-ci.yml index dff5cd2bf94..fee2861e6ea 100644 --- a/bootstrap/.gitlab-ci.yml +++ b/bootstrap/.gitlab-ci.yml @@ -91,6 +91,11 @@ ubuntu1804: extends: .build_image_template +ubuntu1804-32bit: + extends: .build_image_template + variables: + SAMBA_CI_TEST_JOB: "samba-32bit" + ubuntu2004: extends: .build_image_template diff --git a/bootstrap/config.py b/bootstrap/config.py index 79e19308fdb..bbcd45a044c 100644 --- a/bootstrap/config.py +++ b/bootstrap/config.py @@ -427,6 +427,13 @@ DEB_DISTS = { 'liburing-dev': '', # not available } }, + 'ubuntu1804-32bit': { + 'docker_image': 'registry-1.docker.io/i386/ubuntu:18.04', + 'vagrant_box': 'ubuntu/bionic32', + 'replace': { + 'liburing-dev': '', # not available + } + }, 'ubuntu2004': { 'docker_image': 'ubuntu:20.04', 'vagrant_box': 'ubuntu/focal64', diff --git a/bootstrap/generated-dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile index dad82c1e502..64ab54d2682 100644 --- a/bootstrap/generated-dists/Vagrantfile +++ b/bootstrap/generated-dists/Vagrantfile @@ -59,6 +59,13 @@ Vagrant.configure("2") do |config| v.vm.provision :shell, path: "ubuntu1804/locale.sh" end + config.vm.define "ubuntu1804-32bit" do |v| + v.vm.box = "ubuntu/bionic32" + v.vm.hostname = "ubuntu1804-32bit" + v.vm.provision :shell, path: "ubuntu1804-32bit/bootstrap.sh" + v.vm.provision :shell, path: "ubuntu1804-32bit/locale.sh" + end + config.vm.define "ubuntu2004" do |v| v.vm.box = "ubuntu/focal64" v.vm.hostname = "ubuntu2004" diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile new file mode 100644 index 00000000000..3d0c21c1434 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM registry-1.docker.io/i386/ubuntu:18.04 + +# pass in with --build-arg while build +ARG SHA1SUM +RUN [ -n $SHA1SUM ] && echo $SHA1SUM > /sha1sum.txt + +ADD *.sh /tmp/ +# need root permission, do it before USER samba +RUN /tmp/bootstrap.sh && /tmp/locale.sh + +# if ld.gold exists, force link it to ld +RUN set -x; ! LD_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# make test can not work with root, so we have to create a new user +RUN useradd -m -U -s /bin/bash samba && \ + mkdir -p /etc/sudoers.d && \ + echo "samba ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/samba + +USER samba +WORKDIR /home/samba +# samba tests rely on this +ENV USER=samba LC_ALL=en_US.utf8 LANG=en_US.utf8 \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh b/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh new file mode 100755 index 00000000000..56e7b805dfd --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +export DEBIAN_FRONTEND=noninteractive +apt-get -y update + +apt-get -y install \ + acl \ + apt-utils \ + attr \ + autoconf \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + language-pack-en \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libjson-perl \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh b/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh new file mode 100755 index 00000000000..cc64e180483 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +# refer to /usr/share/i18n/locales +INPUTFILE=en_US +# refer to /usr/share/i18n/charmaps +CHARMAP=UTF-8 +# locale to generate in /usr/lib/locale +# glibc/localedef will normalize UTF-8 to utf8, follow the naming style +LOCALE=$INPUTFILE.utf8 + +# if locale is already correct, exit +( locale | grep LC_ALL | grep -i $LOCALE ) && exit 0 + +# if locale not available, generate locale into /usr/lib/locale +if ! ( locale --all-locales | grep -i $LOCALE ) +then + # no-archive means create its own dir + localedef --inputfile $INPUTFILE --charmap $CHARMAP --no-archive $LOCALE +fi + +# update locale conf and global env file +# set both LC_ALL and LANG for safe + +# update conf for Debian family +FILE=/etc/default/locale +if [ -f $FILE ] +then + echo LC_ALL="$LOCALE" > $FILE + echo LANG="$LOCALE" >> $FILE +fi + +# update conf for RedHat family +FILE=/etc/locale.conf +if [ -f $FILE ] +then + # LC_ALL is not valid in this file, set LANG only + echo LANG="$LOCALE" > $FILE +fi + +# update global env file +FILE=/etc/environment +if [ -f $FILE ] +then + # append LC_ALL if not exist + grep LC_ALL $FILE || echo LC_ALL="$LOCALE" >> $FILE + # append LANG if not exist + grep LANG $FILE || echo LANG="$LOCALE" >> $FILE +fi \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml b/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml new file mode 100644 index 00000000000..b42b4d05989 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml @@ -0,0 +1,99 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - language-pack-en + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libjson-perl + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt index 7a78c020f24..1a76e376b75 100644 --- a/bootstrap/sha1sum.txt +++ b/bootstrap/sha1sum.txt @@ -1 +1 @@ -a5335bb5004bdcba5ab7e064164d5e70b76bea0f +ae284a5a64fcff65729bf50b5b0cfdba16afc682 diff --git a/script/autobuild.py b/script/autobuild.py index b7be54024f6..7b34c2d6b28 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -811,6 +811,20 @@ tasks = { ], }, + "samba-32bit": { + "sequence": [ + ("random-sleep", random_sleep(300, 900)), + ("configure", "./configure.developer --abi-check-disable --disable-warnings-as-errors" + samba_configure_params), + ("make", "make -j"), + ("nonetest", make_test(cmd='make test', TESTS="--exclude=selftest/slow-none", include_envs=["none"])), + ("quicktest", make_test(cmd='make quicktest', include_envs=["ad_dc", "ad_dc_smb1", "ad_dc_smb1_done"])), + ("ktest", make_test(cmd='make test', include_envs=["ktest"])), + ("install", "make install"), + ("check-clean-tree", CLEAN_SOURCE_TREE_CMD), + ("clean", "make clean"), + ], + }, + "samba-ctdb": { "sequence": [ ("random-sleep", random_sleep(900, 1500)), @@ -1165,6 +1179,8 @@ defaulttasks.remove("samba-addc-mit-1") defaulttasks.remove("samba-addc-mit-4a") defaulttasks.remove("samba-addc-mit-4b") +defaulttasks.remove("samba-32bit") + if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1": defaulttasks.remove("samba-o3") diff --git a/selftest/knownfail-32bit b/selftest/knownfail-32bit new file mode 100644 index 00000000000..2946f3e9936 --- /dev/null +++ b/selftest/knownfail-32bit @@ -0,0 +1,117 @@ +# +# [3(9)/257 at 5s] samba.tests.blackbox.ndrdump +# UNEXPECTED(failure): samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/blackbox/ndrdump.py", line 106, in test_ndrdump_upn_dns_info_ex +# self.assertEqual(actual, expected.encode('utf-8')) +# AssertionError: b'pul[904 chars] : Wed Jan 22 10:55:33 PM 1975 UTC\n [19848 chars]OK\n' != b'pul[904 chars] : Thu Sep 14 02:48:05 AM 30828 UTC\n [19850 chars]OK\n' +# UNEXPECTED(failure): samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex_not_supported(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/blackbox/ndrdump.py", line 125, in test_ndrdump_upn_dns_info_ex_not_supported +# self.assertEqual(actual, expected.encode('utf-8')) +# AssertionError: b'pul[904 chars] : Wed Jan 22 10:55:33 PM 1975 UTC\n [19948 chars]OK\n' != b'pul[904 chars] : Thu Sep 14 02:48:05 AM 30828 UTC\n [19950 chars]OK\n' +# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run $LOADLIST samba.tests.blackbox.ndrdump 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.ndrdump." --suffix="(none)" +# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run $LOADLIST samba.tests.blackbox.ndrdump 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.ndrdump." --suffix="(none)" +# ERROR: Testsuite[samba.tests.blackbox.ndrdump] +# REASON: Exit code was 1 +^samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex.none +^samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex_not_supported.none +# +# [25(244)/261 at 15s] samba.tests.s3passdb +# ... +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/s3passdb.py", line 92, in test_getuser +# self.assertEqual(9223372036854775807, user.kickoff_time) +# AssertionError: 9223372036854775807 != 2147483647 +^samba.tests.s3passdb.samba.tests.s3passdb.PassdbTestCase.test_getuser.none +# +# [53(610)/261 at 4m22s, 1 errors] samba.tests.glue +# UNEXPECTED(failure): samba.tests.glue.samba.tests.glue.GlueTests.test_nttime2float(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/glue.py", line 54, in test_nttime2float +# self.assertEqual(_glue.nttime2float(1), -11644473600.0) +# AssertionError: 1240428288.0 != -11644473600.0 +^samba.tests.glue.samba.tests.glue.GlueTests.test_nttime2float.none +# +# [95(849)/261 at 5m19s, 2 errors] samba3.smbtorture_s3.LOCAL-MEMCACHE +# UNEXPECTED(failure): samba3.smbtorture_s3.LOCAL-MEMCACHE.smbtorture(none) +# REASON: Exception: Exception: using seed 1669051619 +# host=foo share=bar user= myname=dc5 +# Running LOCAL-MEMCACHE +# Did not find k4, should not have been purged +# TEST LOCAL-MEMCACHE FAILED! +# LOCAL-MEMCACHE took 3.3e-05 secs +# command: /home/samba/samba.git/source3/script/tests/test_smbtorture_s3.sh LOCAL-MEMCACHE //foo/bar "" "" /home/samba/samba.git/bin/smbtorture3 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba3.smbtorture_s3.LOCAL-MEMCACHE." --suffix="(none)" +# expanded command: /home/samba/samba.git/source3/script/tests/test_smbtorture_s3.sh LOCAL-MEMCACHE //foo/bar "" "" /home/samba/samba.git/bin/smbtorture3 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba3.smbtorture_s3.LOCAL-MEMCACHE." --suffix="(none)" +# ERROR: Testsuite[samba3.smbtorture_s3.LOCAL-MEMCACHE] +# REASON: Exit code was 1 +^samba3.smbtorture_s3.LOCAL-MEMCACHE.smbtorture.none +# +# [152(1033)/261 at 5m54s, 3 errors] samba4.local.time +# UNEXPECTED(failure): samba4.local.time.normalize_timespec(none) +# REASON: Exception: Exception: ../../lib/util/tests/time.c:129: ts.tv_sec was -2 (0xFFFFFFFE), expected 2 (0x2): mismatch in tv_sec +# command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based +# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.time 2>&1 | python3 /home/samba/samba.git/selftest/filte +# r-subunit --fail-on-empty --prefix="samba4.local.time." --suffix="(none)" +# expanded command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=/home/samba/samba.git/st/client/client.conf --option='fss:sequence timeout=1' --max +# imum-runtime=1200 --basedir=/home/samba/samba.git/st/tmp --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.time 2>&1 | python3 +# /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.local.time." --suffix="(none)" +# ERROR: Testsuite[samba4.local.time] +# REASON: Exit code was 1 +^samba4.local.time.normalize_timespec.none + + +# +# [171(1386)/261 at 6m24s, 4 errors] samba4.local.charset +# UNEXPECTED(failure): samba4.local.charset.strcasecmp(none) +# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:56: strcasecmp("foo", "bar") was 1 (0x1), expected 4 (0x4): different strings both lower +# UNEXPECTED(failure): samba4.local.charset.strcasecmp_m(none) +# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:85: strcasecmp_m(file_iso8859_1, file_utf8) was 1 (0x1), expected 38 (0x26): file.{accented e} +# should differ +# UNEXPECTED(failure): samba4.local.charset.strncasecmp(none) +# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:132: strncasecmp("foo", "bar", 3) was 1 (0x1), expected 4 (0x4): different strings both lower +# UNEXPECTED(failure): samba4.local.charset.strncasecmp_m(none) +# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:167: strncasecmp_m(file_iso8859_1, file_utf8, 6) was 1 (0x1), expected 38 (0x26): file.{accent +# ed e} should differ +# command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based +# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1 | python3 /home/samba/samba.git/selftest/fi +# lter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)" +# expanded command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=/home/samba/samba.git/st/client/client.conf --option='fss:sequence timeout=1' --max +# imum-runtime=1200 --basedir=/home/samba/samba.git/st/tmp --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1 | pyth +# on3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)" +# ERROR: Testsuite[samba4.local.charset] +# REASON: Exit code was 1 +^samba4.local.charset.strcasecmp.none +^samba4.local.charset.strcasecmp_m.none +^samba4.local.charset.strncasecmp.none +^samba4.local.charset.strncasecmp_m.none +# +# [229(2702)/261 at 8m44s, 5 errors] samba.tests.samba_tool.provision_lmdb_size +# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 104, in test_134217728b +# self.assertEqual(0, result) +# AssertionError: 0 != 255 +# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_1Gb(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 97, in test_1Gb +# self.assertEqual(0, result) +# AssertionError: 0 != 255 +# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_64Mb(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 92, in test_64Mb +# self.assertEqual(0, result) +# AssertionError: 0 != 255 +# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_default(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 87, in test_default +# self.assertEqual(0, result) +# AssertionError: 0 != 255 +# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run $LOADLIST samba.tests.samba_tool.provision_lmdb_size 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_tool.provision_lmdb_size." --suffix="(none)" +# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run $LOADLIST samba.tests.samba_tool.provision_lmdb_size 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_tool.provision_lmdb_size." --suffix="(none)" +# ERROR: Testsuite[samba.tests.samba_tool.provision_lmdb_size] +# REASON: Exit code was 1 +^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b.none +^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_1Gb.none +^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_64Mb.none +^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_default.none diff --git a/selftest/skip-32bit b/selftest/skip-32bit new file mode 100644 index 00000000000..764bafa012d --- /dev/null +++ b/selftest/skip-32bit @@ -0,0 +1,69 @@ +# +# [231(2711)/261 at 9m10s, 6 errors] samba.tests.samba_upgradedns_lmdb +# UNEXPECTED(error): samba.tests.samba_upgradedns_lmdb.samba.tests.samba_upgradedns_lmdb.UpgradeDnsLmdbTestCase.test_lmdb_lock_files_linked_on_upgrade_to_bind9_dlz(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/bin/python/samba/tests/samba_upgradedns_lmdb.py", line 69, in test_lmdb_lock_files_linked_on_upgrade_to_bind9_dlz +# for filename in os.listdir(directory): +# FileNotFoundError: [Errno 2] No such file or directory: '/home/samba/samba.git/st/tmp/tmpku4ew0tv/samba/bind-dns/dns/sam.ldb.d' +# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run $LOADLIST samba.tests.samba_upgradedns_lmdb 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_upgradedns_lmdb." --suffix="(none)" +# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run $LOADLIST samba.tests.samba_upgradedns_lmdb 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_upgradedns_lmdb." --suffix="(none)" +# ERROR: Testsuite[samba.tests.samba_upgradedns_lmdb] +# REASON: Exit code was 1 +^samba.tests.samba_upgradedns_lmdb +# +# [235(2761)/261 at 9m14s, 7 errors] samba.tests.blackbox.downgradedatabase +# UNEXPECTED(error): samba.tests.blackbox.downgradedatabase.samba.tests.blackbox.downgradedatabase.DowngradeTestMDB.test_undo_guid(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "bin/python/samba/tests/blackbox/downgradedatabase.py", line 43, in setUp +# self.check_run(prov_cmd, "Provisioning for downgrade") +# File "bin/python/samba/tests/__init__.py", line 421, in check_run +# self.check_exit_code(line, 0, msg=msg) +# File "bin/python/samba/tests/__init__.py", line 439, in check_exit_code +# msg) +# Traceback (most recent call last): +# File "bin/python/samba/tests/__init__.py", line 278, in _remove_tempdir +# self.assertEqual([], os.listdir(self.tempdir)) +# AssertionError: Lists differ: [] != ['private', 'bind-dns', 'etc', 'state'] +# +# Second list contains 4 additional elements. +# First extra element 0: +# 'private' +# +# - [] +# + ['private', 'bind-dns', 'etc', 'state'] +# command: python3 /home/samba/samba.git/source4/scripting/bin/subunitrun $LOADLIST samba.tests.blackbox.downgradedatabase 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.downgradedatabase." --suffix="(none)" +# expanded command: python3 /home/samba/samba.git/source4/scripting/bin/subunitrun $LOADLIST samba.tests.blackbox.downgradedatabase 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.downgradedatabase." --suffix="(none)" +# ERROR: Testsuite[samba.tests.blackbox.downgradedatabase] +# REASON: Exit code was 1 +^samba.tests.blackbox.downgradedatabase +# +# [236(2763)/261 at 9m46s, 8 errors] samba4.ldap.index.python +# Unable to find backend for 'mdb:///home/samba/samba.git/st/tmp/tmpshxaw8jv/indexedcomptest.ldb' - do you need to set LDB_MODULES_PATH? +# UNEXPECTED(error): samba4.ldap.index.python.__main__.LdbLMDBIndexedComparisonExpressions.test_comparison_expression(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 186, in setUp +# super(LdbLMDBIndexedComparisonExpressions, self).setUp() +# File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 87, in setUp +# self.l = _ldb.Ldb(self.url(), options=self.options()) +# _ldb.LdbError: (80, None) +# Unable to find backend for 'mdb:///home/samba/samba.git/st/tmp/tmpzyl07twx/indexedcomptest.ldb' - do you need to set LDB_MODULES_PATH? +# UNEXPECTED(error): samba4.ldap.index.python.__main__.LdbLMDBIndexedComparisonExpressions.test_comparison_expression_duplicates(none) +# REASON: Exception: Exception: Traceback (most recent call last): +# File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 186, in setUp +# super(LdbLMDBIndexedComparisonExpressions, self).setUp() +# File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 87, in setUp +# self.l = _ldb.Ldb(self.url(), options=self.options()) +# _ldb.LdbError: (80, None) +# command: python3 /home/samba/samba.git/lib/ldb-samba/tests/index.py 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.ldap.index.python." --suffix="(none)" +# expanded command: python3 /home/samba/samba.git/lib/ldb-samba/tests/index.py 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.ldap.index.python." --suffix="(none)" +# ERROR: Testsuite[samba4.ldap.index.python] +# REASON: Exit code was 1 +^samba4.ldap.index.python +# +# [247(2834)/261 at 11m47s, 9 errors] samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb +# sh: 1: /home/samba/samba.git/bin/test_encrypted_secrets_mdb: not found +# command: /home/samba/samba.git/bin/test_encrypted_secrets_mdb 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb." --suffix="(none)" +# expanded command: /home/samba/samba.git/bin/test_encrypted_secrets_mdb 2>&1 | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb." --suffix="(none)" +# ERROR: Testsuite[samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb] +# REASON: Exit code was 1 +^samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb diff --git a/selftest/wscript b/selftest/wscript index 435f19ccc11..b4697b3c48b 100644 --- a/selftest/wscript +++ b/selftest/wscript @@ -276,6 +276,10 @@ def cmd_testonly(opt): env.FILTER_XFAIL += " --expected-failures=${srcdir}/selftest/"\ "knownfail_heimdal_kdc" + if CONFIG_GET(opt, 'SIZEOF_VOID_P') == 4: + env.FILTER_XFAIL += " --expected-failures=${srcdir}/selftest/knownfail-32bit" + env.OPTIONS += " --default-ldb-backend=tdb --exclude=${srcdir}/selftest/skip-32bit" + if not CONFIG_GET(opt, 'HAVE_GSS_KRB5_CRED_NO_CI_FLAGS_X'): # older MIT krb5 libraries (< 1.14) don't have # GSS_KRB5_CRED_NO_CI_FLAGS_X