File: example.ia_mktemp2

package info (click to toggle)
shellia 5.10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 792 kB
  • sloc: sh: 7,840; makefile: 34
file content (73 lines) | stat: -rwxr-xr-x 1,358 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
# vim: set filetype=sh :
#        file: example.ia_mktemp2
#   copyright: Bernd Schumacher <bernd.schumacher@hpe.com> (2007-2020)
#     license: GNU General Public License, version 3
# description: example using function ia_mktemp with exit trap
#    see also: test.ia_mktemp2
set -e
set -u

. ./ia.check

assert_exists()
{
  local i
  local n
  n=1; for i in $2; do
    [ -f $i ] && echo "OK: $n. file exists in fun $1" >&2 || echo "ERROR: $n. file does not exist in fun $1" >&2
    n=$((n+1))
  done
}

assert_deleted()
{
  local i
  local n
  n=1; for i in $2; do
    [ -f $i ] && echo "ERROR: $n. file $2 not deleted in fun $1" >&2 || echo "OK: $n. file deleted in fun $1" >&2
    n=$((n+1))
  done
}

fun1()
{
  local file1
  local file2
  ia_mktemp file1
  ia_mktemp file2
  assert_exists fun1 "$file1 $file2"
  echo "$file1 $file2"
}

fun2()
{
  local file1
  local file2
  local file3
  ia_mktemp file1
  ia_mktemp file2
  file3=$(fun1)
  assert_exists fun2 "$file1 $file2"
  assert_deleted fun2 "$file3"
  echo "$file1 $file2"
}

fun3()
{
  local file1
  local file2
  local file3
  ia_mktemp file1
  ia_mktemp file2
  file3=$(fun2)
  assert_exists fun3 "$file1 $file2"
  assert_deleted fun3 "$file3"
  echo "$file1 $file2"
}

ia_mktemp file1
ia_mktemp file2
file3=$(fun3)
assert_exists main "$file1 $file2"
assert_deleted main "$file3"