This is the first testing call for OpenLDAP 2.5.14. Depending on the results, this may be the only testing call.
Generally, get the code for RE25:
Extract, configure, and build.
Execute the test suite (via make test) after it is built. Optionally, cd tests && make its to run through the regression suite.
Thanks!
OpenLDAP 2.5.14 Engineering Fixed client tools to remove 'h' and 'p' options (ITS#9917,ITS#8618) Fixed ldapsearch memory leak with controls (ITS#9860) Fixed libldap ldif_open_urlto check for failure (ITS#9904) Fixed libldap ldap_url_parsehosts check for failure (ITS#9904) Fixed slapd memory leak with olcAuthIDRewrite (ITS#6035) Fixed slapd transactions extended operations cleanup after write (ITS#9892) Fixed slapd-mdb max number of index databases to 256 (ITS#9895) Fixed slapd-monitor to free remembered cookies (ITS#9339) Fixed slapo-deref memory leak (ITS#9924) Fixed slapo-dynlist to ignore irrelevant objectClasses (ITS#9897) Fixed slapo-remoteauth memory leaks (ITS#9438) Build Environment Fixed build process to not use gmake specific features (ITS#9894) Fixed slapo-otp testdir creation (ITS#9437) Fixed slapd-tester memory leak (ITS#9908) Fixed usage of non-standard C syntax (ITS#9898, ITS#9899, ITS#9901) Fixed usage of bashism (ITS#9900) Documentation Fixed slapo-unique(5) to clarify when quoting should be used (ITS#9915)
Regards, Quanah
Hello Quanah,
I would like to help but his is the first time I run the tests. Is there a guideline/howto to follow up?
I executed the tests and go no errors, should I provide back the results?
Is there any infrastructure to report the tests, something like https://qa.perl.org/?
I went quickly through the tests, it seems they are basically shell scripts. Those could be reasonably easy to convert to Perl scripts (or something else) that could generate the tests outputs in TAP format (https://testanything.org/), which would make it easier to collect and evaluate the results.
Best regards,
Alceu
Em 04/10/2022 13:50, Quanah Gibson-Mount escreveu:
This is the first testing call for OpenLDAP 2.5.14. Depending on the results, this may be the only testing call.
Generally, get the code for RE25:
Extract, configure, and build.
Execute the test suite (via make test) after it is built. Optionally, cd tests && make its to run through the regression suite.
Thanks!
OpenLDAP 2.5.14 Engineering Fixed client tools to remove 'h' and 'p' options (ITS#9917,ITS#8618) Fixed ldapsearch memory leak with controls (ITS#9860) Fixed libldap ldif_open_urlto check for failure (ITS#9904) Fixed libldap ldap_url_parsehosts check for failure (ITS#9904) Fixed slapd memory leak with olcAuthIDRewrite (ITS#6035) Fixed slapd transactions extended operations cleanup after write (ITS#9892) Fixed slapd-mdb max number of index databases to 256 (ITS#9895) Fixed slapd-monitor to free remembered cookies (ITS#9339) Fixed slapo-deref memory leak (ITS#9924) Fixed slapo-dynlist to ignore irrelevant objectClasses (ITS#9897) Fixed slapo-remoteauth memory leaks (ITS#9438) Build Environment Fixed build process to not use gmake specific features (ITS#9894) Fixed slapo-otp testdir creation (ITS#9437) Fixed slapd-tester memory leak (ITS#9908) Fixed usage of non-standard C syntax (ITS#9898, ITS#9899, ITS#9901) Fixed usage of bashism (ITS#9900) Documentation Fixed slapo-unique(5) to clarify when quoting should be used (ITS#9915)
Regards, Quanah
--On Tuesday, October 4, 2022 5:26 PM -0300 Alceu Rodrigues de Freitas Junior glasswalk3r@yahoo.com.br wrote:
Hello Quanah,
I would like to help but his is the first time I run the tests. Is there a guideline/howto to follow up?
I executed the tests and go no errors, should I provide back the results?
Is there any infrastructure to report the tests, something like https://qa.perl.org/?
I went quickly through the tests, it seems they are basically shell scripts. Those could be reasonably easy to convert to Perl scripts (or something else) that could generate the tests outputs in TAP format (https://testanything.org/), which would make it easier to collect and evaluate the results.
Hi Alceu,
Generally, if you can let us know what OS you ran the tests on, and if they all passed (or failed) and if you can also run "make its" in the test suite directory after running "make test" to check that there are no failures in the regression suite.
We've work underway on a python based testing suite for the future.
Regards, Quanah
Em 04/10/2022 18:17, Quanah Gibson-Mount escreveu:
Generally, if you can let us know what OS you ran the tests on, and if they all passed (or failed) and if you can also run "make its" in the test suite directory after running "make test" to check that there are no failures in the regression suite.
In that case, here you go:
$ uname -a Linux yggdrasil 4.15.0-193-generic #204-Ubuntu SMP Fri Aug 26 19:20:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"
No tests failed in this environment.
We've work underway on a python based testing suite for the future.
That's great!
Is this project available for the general public? I would like to take a look to it and see if I can contribute.
Regards,
Alceu
On Tue, Oct 04, 2022 at 06:38:36PM -0300, Alceu Rodrigues de Freitas Junior wrote:
We've work underway on a python based testing suite for the future.
That's great!
Is this project available for the general public? I would like to take a look to it and see if I can contribute.
A first draft is available in tests/python in the master branch, work is needed to expand the infrastructure and eventually port the existing tests to Python (with a fallback to the existing scripts if requested or where Python tests can't be run).
Regards,
Hi Ondřej,
I'm struggling to get those Python tests working. I was able to install the requirements and setup the required environment variables (which I'm not sure I gave the proper values) but I'm getting errors from executing the slapd.py (the first one that I tried).
This is the error I'm getting (I made small changes to get the proper STDERR from subprocess.run()):
E Exception: The execution of ['/home/alceu/Projetos/openldap/openldap/servers/slapd/slapd', '-T', 'add', '-d', '-1', '-n0', '-F', '/tmp/pytest-of-alceu/pytest-17/slapd_py0/tmpiha1b2nw/slapd.d'] failed with the following error: E slapadd init: initiated tool. E mdb_back_initialize: initialize MDB backend E mdb_back_initialize: LMDB 0.9.30: (October 19, 2021) E backend_startup_one: starting "cn=config" E ldif_read_file: no entry file "/tmp/pytest-of-alceu/pytest-17/slapd_py0/tmpiha1b2nw/slapd.d/cn=config.ldif"
The path "/tmp/pytest-of-alceu/pytest-17/slapd_py0/tmpiha1b2nw/slapd.d" doesn't exist, but "/tmp/pytest-of-alceu/pytest-17/slapd_py0/" was created as expected.
Since the LDIF is given as STDIN to the slapd binary, I'm not really understand what is going on or what I missing.
These are the values I used for the environment variables:
TOP_SRCDIR=/home/alceu/Projetos/openldap/openldap TOP_BUILDDIR=/home/alceu/Projetos/openldap/openldap
I used the Makefile available under TOP_BUILDDIR=/home/alceu/Projetos/openldap/openldap/tests directory to configure those environment variables.
The OpenLDAP repository is available at the related path. I made sure to execute the tests with "make tests" in order to generate the binaries and execute the tests (and none of them failed).
Thank you in advance,
Alceu
Em 05/10/2022 09:05, Ondřej Kuzník escreveu:
On Tue, Oct 04, 2022 at 06:38:36PM -0300, Alceu Rodrigues de Freitas Junior wrote:
We've work underway on a python based testing suite for the future.
That's great!
Is this project available for the general public? I would like to take a look to it and see if I can contribute.
A first draft is available in tests/python in the master branch, work is needed to expand the infrastructure and eventually port the existing tests to Python (with a fallback to the existing scripts if requested or where Python tests can't be run).
Regards,
Not sure if OpenBSD should be supported, but I gave it a try and the second test failed.
$ uname -a OpenBSD cpan-smoker-openbsd 7.1 GENERIC.MP#465 amd64
Starting test001-slapadd for mdb...
running defines.sh Running slapadd to build slapd database... Segmentation fault (core dumped) slapadd failed (139)!
test001-slapadd failed for mdb after 0 seconds
(exit 139) *** Error 139 in tests (Makefile:303 'mdb-yes': @./run -b mdb all) *** Error 2 in tests (Makefile:288 'test': @make mdb) *** Error 2 in /home/vagrant/openldap-OPENLDAP_REL_ENG_2_5 (Makefile:299 'test')
That generated a core dump. I tried to check with GDB, that's all I could get:
[vagrant@cpan-smoker-openbsd:~/openldap-OPENLDAP_REL_ENG_2_5]$ gdb ./servers/slapd/slapd ./tests/slapd.core GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-unknown-openbsd7.1"... Core was generated by `slapd'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libpthread.so.26.1...done. Loaded symbols for /usr/lib/libpthread.so.26.1 Loaded symbols for /home/vagrant/openldap-OPENLDAP_REL_ENG_2_5/servers/slapd/slapd Symbols already loaded for /usr/lib/libpthread.so.26.1 Reading symbols from /usr/lib/libc.so.96.1...done. Loaded symbols for /usr/lib/libc.so.96.1 Reading symbols from /usr/libexec/ld.so...Error while reading shared library symbols: Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so] #0 0x0000097e00a80398 in mdb_cursor_put (mc=Variable "mc" is not available. ) at mdb.c:6959 6959 mdb.c: No such file or directory. in mdb.c (gdb) dir libraries/liblmdb Source directories searched: /home/vagrant/openldap-OPENLDAP_REL_ENG_2_5/libraries/liblmdb:$cdir:$cwd Current language: auto; currently minimal (gdb) list 6954 6955 rdata = data; 6956 6957 new_sub: 6958 nflags = flags & NODE_ADD_FLAGS; 6959 nsize = IS_LEAF2(mc->mc_pg[mc->mc_top]) ? key->mv_size : mdb_leaf_size(env, key, rdata); 6960 if (SIZELEFT(mc->mc_pg[mc->mc_top]) < nsize) { 6961 if (( flags & (F_DUPDATA|F_SUBDATA)) == F_DUPDATA ) 6962 nflags &= ~MDB_APPEND; /* sub-page may need room to grow */ 6963 if (!insert_key) (gdb) bt #0 0x0000097e00a80398 in mdb_cursor_put (mc=Variable "mc" is not available. ) at mdb.c:6959 #1 0x0000097e00a75c0a in mdb_dn2id_add (op=0x7f7fffff6a18, mcp=0x980fb8d8000, mcd=0x980fb914c00, pid=0, nsubs=1, upsub=1, e=0x980e76f0008) at dn2id.c:155 #2 0x0000097e00a9a811 in mdb_tool_next_id (op=0x7f7fffff6a18, tid=Unhandled dwarf expression opcode 0xa3 ) at tools.c:513 #3 0x0000097e00a9a119 in mdb_tool_entry_put (be=0x9804348d000, e=0x980e76f0008, text=0x7f7fffff6d70) at tools.c:722 #4 0x0000097e00a63f13 in slapadd (argc=Variable "argc" is not available. ) at slapadd.c:453 #5 0x0000097e009cbcd2 in _start () from /home/vagrant/openldap-OPENLDAP_REL_ENG_2_5/servers/slapd/slapd #6 0x0000000000000000 in ?? ()
Em 04/10/2022 13:50, Quanah Gibson-Mount escreveu:
This is the first testing call for OpenLDAP 2.5.14. Depending on the results, this may be the only testing call.
Generally, get the code for RE25:
Extract, configure, and build.
Execute the test suite (via make test) after it is built. Optionally, cd tests && make its to run through the regression suite.
Thanks!
OpenLDAP 2.5.14 Engineering Fixed client tools to remove 'h' and 'p' options (ITS#9917,ITS#8618) Fixed ldapsearch memory leak with controls (ITS#9860) Fixed libldap ldif_open_urlto check for failure (ITS#9904) Fixed libldap ldap_url_parsehosts check for failure (ITS#9904) Fixed slapd memory leak with olcAuthIDRewrite (ITS#6035) Fixed slapd transactions extended operations cleanup after write (ITS#9892) Fixed slapd-mdb max number of index databases to 256 (ITS#9895) Fixed slapd-monitor to free remembered cookies (ITS#9339) Fixed slapo-deref memory leak (ITS#9924) Fixed slapo-dynlist to ignore irrelevant objectClasses (ITS#9897) Fixed slapo-remoteauth memory leaks (ITS#9438) Build Environment Fixed build process to not use gmake specific features (ITS#9894) Fixed slapo-otp testdir creation (ITS#9437) Fixed slapd-tester memory leak (ITS#9908) Fixed usage of non-standard C syntax (ITS#9898, ITS#9899, ITS#9901) Fixed usage of bashism (ITS#9900) Documentation Fixed slapo-unique(5) to clarify when quoting should be used (ITS#9915)
Regards, Quanah
--On Tuesday, October 4, 2022 8:22 PM -0300 Alceu Rodrigues de Freitas Junior glasswalk3r@yahoo.com.br wrote:
Not sure if OpenBSD should be supported, but I gave it a try and the second test failed.
OpenBSD has no unified buffer cache, which makes LMDB unusuable on that platform. You would need to disable back-mdb to proceed.
Regards, Quanah
On 2022/10/04 19:22, Alceu Rodrigues de Freitas Junior wrote:
Not sure if OpenBSD should be supported, but I gave it a try and the second test failed.
LMDB will not work with current or past OpenBSD versions unless you use MDB_WRITEMAP (which on most platforms is a trade-off between speed and safety, but on platforms without coherent mmap and file io i.e. "unified buffer cache" is the only way to use LMDB).
openldap-technical@openldap.org