Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
diff tests/farray-object.t @ 726:23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
BUGS: No formal ownership management is done yet.
It is planned to implement resource management with reference counting.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 06 Oct 2024 16:19:45 +0200 |
| parents | |
| children | 858f4208d9cb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/farray-object.t Sun Oct 06 16:19:45 2024 +0200 @@ -0,0 +1,77 @@ +Complex object tests of farray.sh + +Shell is /bin/sh. + + +Setup +===== + + $ set -u + $ . "${TESTDIR}/testsetup.sh" + $ _p_datadir="${TESTDIR}/../share/local-bsdtools" + $ . "${_p_datadir}/farray.sh" + + +Array +===== + + $ farray_create ARRAY1 i1 i2 + $ farray_create ITEM1 i11 i22 +This also transfers ownership + $ farray_append ARRAY1 "$ITEM1" + $ ITEM1='' + $ falist_create LIST2 k1 v1 k2 v2 k3 v3 +This also transfers ownership + $ farray_append ARRAY1 "$LIST2" + $ LIST2='' + $ farray_debug ARRAY1 + DEBUG: array `ARRAY1' has length 4 + DEBUG: its contents: + DEBUG: 1: `i1' + DEBUG: 2: `i2' + DEBUG: 3: --> + DEBUG: array with token `[a-f0-9]+' has length 2 (re) + DEBUG: its contents: + DEBUG: 1: `i11' + DEBUG: 2: `i22' + DEBUG: 4: --> + DEBUG: alist with token `[a-f0-9]+' has length 3 (re) + DEBUG: `k1' -> `v1' + DEBUG: `k2' -> `v2' + DEBUG: `k3' -> `v3' + $ farray_destroy ARRAY1 + $ check_no_array_artifacts + $ check_no_alist_artifacts + + +AList +===== + + $ falist_create LIST1 k1 v1 + $ falist_create ITEM1 k11 v11 k22 v22 k33 v33 k44 v44 +This also transfers ownership + $ falist_set LIST1 k2 "$ITEM1" + $ ITEM1='' + $ farray_create ARRAY2 a1 a2 a3 +This also transfers ownership + $ falist_set LIST1 k3 "$ARRAY2" + $ ARRAY2='' + $ falist_debug LIST1 + DEBUG: alist `LIST1' has length 3 + DEBUG: `k1' -> `v1' + DEBUG: `k2': --> + DEBUG: alist with token `[a-f0-9]+' has length 4 (re) + DEBUG: `k11' -> `v11' + DEBUG: `k22' -> `v22' + DEBUG: `k33' -> `v33' + DEBUG: `k44' -> `v44' + DEBUG: `k3': --> + DEBUG: array with token `[a-f0-9]+' has length 3 (re) + DEBUG: its contents: + DEBUG: 1: `a1' + DEBUG: 2: `a2' + DEBUG: 3: `a3' + + $ falist_destroy LIST1 + $ check_no_array_artifacts + $ check_no_alist_artifacts
