aboutsummaryrefslogtreecommitdiff
path: root/lib/libnv/tests
Commit message (Collapse)AuthorAgeFilesLines
* libnv: add tests to verify potential overflow issuesMariusz Zaborski2024-09-042-0/+203
| | | | Differential Revision: https://reviews.freebsd.org/D46131
* libnv: add test to verify null termination of string in arrayMariusz Zaborski2024-09-041-2/+56
| | | | Differential Revision: https://reviews.freebsd.org/D46138
* Remove "All Rights Reserved" from FreeBSD Foundation copyrightsEd Maste2024-07-306-6/+0
| | | | | | | These ones were unambiguous cases where the Foundation was the only listed copyright holder. Sponsored by: The FreeBSD Foundation
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* lib: Automated cleanup of cdefs and other formattingWarner Losh2023-11-273-3/+0
| | | | | | | | | | | | | | | | Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-162-2/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-165-10/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-167-14/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* skip test case nvlist_send_recv__send_many_fds__dgramRobert Wing2022-01-021-0/+2
| | | | | | | | | | | If I'm not mistaken, the underlying sendmsg() for nvlist_send() is failing with ENOBUFS. In turn, nvlist_recv() returns NULL because it didn't receive the expected number of file descriptors. Adjusting net.local.dgram.recvspace worked on my local machine, but on CI the test still fails consistently. PR: 260891
* libnv: bump sysctl for nvlist_send_recv__send_many_fds__dgram testRobert Wing2021-12-211-4/+4
| | | | | | Increase sysctl net.local.dgram.recvspace to 1M. Reported by: Jenkins
* libnv: read entire datagram in nvlist_recv()Robert Wing2021-12-061-12/+88
| | | | | | | | | | | | When SOCK_DGRAM is used, a portion of the datagram is discarded during the initial recv() when getting the nvlist_header. To workaround this, use MSG_PEEK for the initial recv() when using a datagram socket. Add tests for SOCK_DGRAM with nvlist_send()/nvlist_recv(). Differential Revision: https://reviews.freebsd.org/D32722
* Add a regression test which transfers varying number of rights.Mark Johnston2019-07-161-1/+98
| | | | | | | | | | This exercises the PKG_MAX_SIZE limit mentioned in r350054. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=350055
* Convert the nvlist send/recv tests to ATF.Mark Johnston2019-07-162-198/+189
| | | | | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=350052
* libnv: extend the testsMariusz Zaborski2019-04-151-2/+29
| | | | | | | | | | Add cases for sending file descriptors. Submitted by: Mindaugas Rasiukevicius <rmind@noxt.eu> MFC after: 2 weeks Notes: svn path=/head/; revision=346219
* libnv: fix memory leaksMariusz Zaborski2019-02-101-0/+2
| | | | | | | | | | | | | | | | | | nvpair_create_stringv: free the temporary string; this fix affects nvlist_add_stringf() and nvlist_add_stringv(). nvpair_remove_nvlist_array (NV_TYPE_NVLIST_ARRAY case): free the chain of nvpairs (as resetting it prevents nvlist_destroy() from freeing it). Note: freeing the chain in nvlist_destroy() is not sufficient, because it would still leak through nvlist_take_nvlist_array(). This affects all nvlist_*_nvlist_array() use Submitted by: Mindaugas Rasiukevicius <rmind@netbsd.org> Reported by: clang/gcc ASAN MFC after: 2 weeks Notes: svn path=/head/; revision=343986
* Ensure that libnv can be used when kern.trap_enotcap=1.Mark Johnston2018-11-131-6/+32
| | | | | | | | | | | | | | | | | | | libnv used fcntl(fd, F_GETFL) to test whether fd is a valid file descriptor. Aside from being racy, this check requires CAP_FCNTL rights on fd. Instead, use fcntl(fd, F_GETFD), which does not require any capability rights. Also remove some redundant fd_is_valid() checks to avoid extra system calls; in many cases we were performing this check immediately before dup()ing the descriptor. Reviewed by: cem, oshogbo (previous version) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17963 Notes: svn path=/head/; revision=340408
* libnv: Add nvlist_append_*_array() family of functions.Mariusz Zaborski2018-06-182-0/+121
| | | | | | | | | | The nvlist_append_{bool,number,string,nvlist,descriptor}_array() functions allows to dynamically extend array stored in the nvlist. Submitted by: Mindaugas Rasiukevicius <rmind@netbsd.org> Notes: svn path=/head/; revision=335347
* libnv: add regression test for r335344.Mariusz Zaborski2018-06-181-0/+1
| | | | Notes: svn path=/head/; revision=335345
* libnv: Remove nvlist argument from cnvlist_{take,free}_* functions.Mariusz Zaborski2018-06-181-18/+18
| | | | | | | | | | | | | All information which are need for those operations is already stored in the cookie. We decided not to bump libnv version because this API is not used yet in the base system. Reviewed by: pjd Notes: svn path=/head/; revision=335343
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-311-1/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* :dnvlist_get_string__default_value: fix a bogus string comparison testEnji Cooper2017-05-291-1/+1
| | | | | | | | | | | | Check actual_value vs "5", not "5" vs itself. MFC after: 3 days Reported by: Coverity CID: 1362021 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319159
* :nvlist_unpack__duplicate_key : check the result of nvlist_pack(3)Enji Cooper2017-05-291-0/+1
| | | | | | | | | | | | This fixes a potential NULL pointer dereference. MFC after: 3 days Reported by: Coverity CID: 1362051 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319156
* lib/libnv/tests/dnv_test: fix memory leaks for memory allocated viaEnji Cooper2017-05-291-0/+5
| | | | | | | | | | | either strdup or one of the dnvlist* libcalls. Reported by: Coverity CID: 1362056-1362060 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319155
* Fix style issue in the cnv API.Mariusz Zaborski2016-08-272-5/+4
| | | | | | | | Remove unused arguments in a macro. Remove unused typedef. Notes: svn path=/head/; revision=304909
* Add cnv API.Mariusz Zaborski2016-08-272-0/+1510
| | | | | | | | | | | cnv API is a set of functions for managing name/value pairs by cookie. The cookie can be obtained by nvlist_next(), nvlist_get_parent() or nvlist_get_pararr() function. This patch also includes unit tests. Submitted by: Adam Starak <starak.adam@gmail.com> Notes: svn path=/head/; revision=304908
* Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installedEnji Cooper2016-05-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after r298107 Summary of changes: - Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that namespacing is kept with FILES appropriately, and that this shouldn't need to be repeated if the namespace changes -- only the definition of PACKAGE needs to be changed - Allow PACKAGE to be overridden by callers instead of forcing it to always be `tests`. In the event we get to the point where things can be split up enough in the base system, it would make more sense to group the tests with the blocks they're a part of, e.g. byacc with byacc-tests, etc - Remove PACKAGE definitions where possible, i.e. where FILES wasn't used previously. - Remove unnecessary TESTSPACKAGE definitions; this has been elided into bsd.tests.mk - Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES; ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk. - Fix installation of files under data/ subdirectories in lib/libc/tests/hash and lib/libc/tests/net/getaddrinfo - Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup) Document the proposed changes in share/examples/tests/tests/... via examples so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of replacing FILES. share/mk/bsd.README didn't seem like the appropriate method of communicating that info. MFC after: never probably X-MFC with: r298107 PR: 209114 Relnotes: yes Tested with: buildworld, installworld, checkworld; buildworld, packageworld Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=299094
* MFHGlen Barber2016-03-101-0/+24
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296625
| * DIRDEPS_BUILD: Connect MK_TESTS.Bryan Drewery2016-03-091-0/+24
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296587
* | First pass to fix the 'tests' packages.Glen Barber2016-02-021-0/+4
|/ | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295171
* Remove free'ing of an uninitialized variableEnji Cooper2016-01-041-2/+0
| | | | | | | | | | | | | | Just remove it completely from the test as it's initialized but unused apart from the free(3) call Differential Revision: https://reviews.freebsd.org/D4769 (part of larger diff) MFC after: 5 days Reported by: cppcheck Reviewed by: oshogbo Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=293135
* Use `nitems(x)` macro instead of using hardcoded numbers for indices intoEnji Cooper2016-01-041-53/+59
| | | | | | | | | | | | | | | the nvlists Convert some of the variables from int to unsigned int to squelch -Wsign-compare warnings when converting hardcoded values to nitems(..) Differential Revision: https://reviews.freebsd.org/D4769 (part of larger diff) MFC after: 5 days Reviewed by: oshogbo Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=293134
* Convert another `string` variable to `string_arr` missed in r293130Enji Cooper2016-01-041-3/+3
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D4769 (part of larger diff) MFC after: 5 days Reviewed by: oshogbo Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=293131
* Rename nitems and string variables to avoid collisionsEnji Cooper2016-01-041-105/+106
| | | | | | | | | | | | | | | | | Rename the `nitems` variable to `num_items` to avoid collisions with the macro in sys/param.h for counting elements in an array Similarly, rename `string` to `string_arr` to avoid future collisions with potential keywords, as well as make it clear that `string_arr` isn't a char* value, but instead a char** value. Differential Revision: https://reviews.freebsd.org/D4769 (part of larger diff) MFC after: 5 days Reviewed by: oshogbo Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=293130
* Add sys/types.h for for size_t, etcEnji Cooper2016-01-031-0/+1
| | | | | | | | | | stable/10 requires it due to header pollution MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=293102
* Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andEnji Cooper2015-10-121-2/+0
| | | | | | | | | | | | | | | netbsd-tests.test.mk (r289151) - Eliminate explicit OBJTOP/SRCTOP setting - Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk - Remove unnecessary TESTSDIR setting - Use SRCTOP where possible for clarity MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Divison Notes: svn path=/head/; revision=289172
* Add support for the arrays in nvlist library.Mariusz Zaborski2015-08-152-0/+1192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add nvlist_{add,get,take,move,exists,free}_{number,bool,string,nvlist, descriptor} functions. - Add support for (un)packing arrays. - Add the nvl_array_next field to the nvlist structure. If an array is added by the nvlist_{move,add}_nvlist_array function this field will contains next element in the array. - Add the nitems field to the nvpair and nvpair_header structure. This field contains number of elements in the array. - Add special flag (NV_FLAG_IN_ARRAY) which is set if nvlist is a part of an array. - Add special type (NV_TYPE_NVLIST_ARRAY_NEXT).This type is used only on packing/unpacking. - Add new API for traversing arrays (nvlist_get_array_next). - Add the nvlist_get_pararr function which combines the nvlist_get_array_next and nvlist_get_parent functions. If nvlist is in the array it will return next element from array. If nvlist is last element in array or it isn't in array it will return his container (parent). This function should simplify traveling over nvlist. - Add tests for new features. - Add documentation for new functions. - Add my copyright. - Regenerate the sys/cddl/compat/opensolaris/sys/nvpair.h file. PR: 191083 Reviewed by: allanjude (doc) Approved by: pjd (mentor) Notes: svn path=/head/; revision=286796
* Let the nv.h and dnv.h includes be only in sys directory.Mariusz Zaborski2015-07-028-15/+15
| | | | | | | | | | Change consumers to include those files from sys. Add duplicated files to ObsoleteFiles. Approved by: pjd (mentor) Notes: svn path=/head/; revision=285063
* Add test case for unpack with diffrent flags.Mariusz Zaborski2015-05-021-0/+35
| | | | | | | Approved by: pjd (mentor) Notes: svn path=/head/; revision=282348
* Approved, oprócz użycie RESTORE_ERRNO() do ustawiania errno.Mariusz Zaborski2015-05-022-4/+4
| | | | | | | | | | | | | | | | | | | | Change the nvlist_recv() function to take additional argument that specifies flags expected on the received nvlist. Receiving a nvlist with different set of flags than the ones we expect might lead to undefined behaviour, which might be potentially dangerous. Update consumers of this and related functions and update the tests. Approved by: pjd (mentor) Update man page for nvlist_unpack, nvlist_recv, nvlist_xfer, cap_recv_nvlist and cap_xfer_nvlist. Reviewed by: AllanJude Approved by: pjd (mentor) Notes: svn path=/head/; revision=282346
* Remove the use of nvlist_.*[fv] functions from tests.Mariusz Zaborski2015-04-292-48/+24
| | | | | | | Approved by: pjd (mentor) Notes: svn path=/head/; revision=282254
* Fix lib/libnv tests compilation with -std=c++11, by adding appropriateDimitry Andric2015-03-082-11/+11
| | | | | | | | | | casts for NULL to invocations of the ATF_REQUIER_EQ() macro. Reviewed by: rstone, jmmv Differential Revision: https://reviews.freebsd.org/D2027 Notes: svn path=/head/; revision=279760
* Fix build of nv_tests.ccRyan Stone2015-03-011-1776/+0
| | | | | | | | | | | | nv_tests.cc managed to get two copies of several functions due to me applying a patch in an unclean working tree. My kingdom for an "svn clean" command. MFC after: 1 month X-MFC-With: r279424 Notes: svn path=/head/; revision=279440
* Prevent creation of an invalid nvlistRyan Stone2015-03-011-0/+33
| | | | | | | | | | | | | | If an nvlist is set as a child of another nvlist with nvlist_move_nvlist then fail the operation and set the parent nvlist to the error state. Differential Revision: https://reviews.freebsd.org/D1880 Reviewers: jfv MFC after: 1 month Sponsored by: Sandvine Inc Notes: svn path=/head/; revision=279436
* Add function to force an nvlist into the error stateRyan Stone2015-03-011-0/+36
| | | | | | | | | | | | | | Add an nvlist_set_error() function that can be used to force an nvlist into the error state. This is useful both for writing tests and for writing APIs that use nvlists internally. Differential Revision: https://reviews.freebsd.org/D1878 Reviewed by: pjd, jfv MFC After: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279434
* Extend the unit test to fix the bug caught in r277925Ryan Stone2015-03-011-2/+19
| | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1888 MFC After: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279432
* Add tests for dnvlist_take_*Ryan Stone2015-03-011-0/+288
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1876 Reviewed by: jfv, pjd MFC after: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279431
* Add tests for dnv_get_*Ryan Stone2015-03-012-1/+292
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1875 Reviewed by: jfv, pjd MFC after: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279430
* Add tests for nvlist_free* functionsRyan Stone2015-03-011-0/+206
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1874 Reviewed by: jfv, pjd MFC after: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279429
* Add tests for nvlist_take_*Ryan Stone2015-03-011-0/+292
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1873 Reviewed by: jfv, pjd MFC after: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279428
* Add test cases for nvlist_move_*Ryan Stone2015-03-011-0/+82
| | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1872 Reviewed by: jfv, pjd MFC after: 1 month Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=279427