annotate tests/testsetup.sh @ 765:cb68580976f7

farray.sh: Optimize: Remove some intermediate variables where not really needed
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 21 Oct 2024 15:48:39 +0200
parents 7ead30e3b2f9
children bae0652d0577
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 #!/bin/sh
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2 #
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3 # Test helpers for the shell unittests using cram.
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 #
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5
758
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
6
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
7 #:
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
8 #: Set some directories to temporary values for inclusion of test configuration
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
9 #: files.
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
10 #:
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
11 CONFIGDIR="${TESTDIR}/etc"
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
12 PACKAGE_MAPPING="${CONFIGDIR}/package-mapping.conf"
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
13
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
14
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 #:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 #: Check that no global variables that hold any array storage are left.
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 #:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 #: Returns:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 #: int: 0 if no unexpected storage is left, 1 otherwise
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 #:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21 check_no_array_artifacts() {
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 # _farr_A_ is the storage prefix for arrays
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 if set | grep -E -e '^_farr_A_.*='; then
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24 return 1
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 else
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
26 return 0
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 fi
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28 }
604
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
29
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
30
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
31 #:
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
32 #: Check that no global variables that hold any alist storage are left.
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
33 #:
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
34 #: Returns:
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
35 #: int: 0 if no unexpected storage is left, 1 otherwise
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
36 #:
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
37 check_no_alist_artifacts() {
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
38 # This are all _farr_alist_XXX_prefix variables
756
33df05108ba1 farray.sh: New implementation alists: searching is done using a binary search now while preserving insertion order.
Franz Glasner <fzglas.hg@dom66.de>
parents: 604
diff changeset
39 if set | grep -E -e '^_farr_KV_.*=' -e '^_farr_Kb_.*=' -e '^_farr_Ks_.*=' -e '^_farr_Vs_.*='; then
604
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
40 return 1
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
41 else
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
42 return 0
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
43 fi
45c47bc1f7d2 farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
44 }
758
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
45
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
46
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
47 #:
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
48 #: Check that no local variables are globally visible.
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
49 #:
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
50 #: Because all local variables have the ``__farr_`` prefix it can easily
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
51 #: checked that no forgotten "local" declarations exist.
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
52 #:
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
53 check_no_local_artifacts() {
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
54 if set | grep -E -e '^__farr.*='; then
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
55 return 1
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
56 else
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
57 return 0
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
58 fi
7ead30e3b2f9 farray.sh: Check for typos in local variable names or missing "local" declarations for variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 756
diff changeset
59 }