File: infotest

package info (click to toggle)
makeself 2.5.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 308 kB
  • sloc: sh: 2,139; makefile: 20
file content (125 lines) | stat: -rw-r--r-- 3,004 bytes parent folder | download
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/bin/bash
set -eu
THIS="$(readlink -f "$0")"
THISDIR="$(dirname "${THIS}")"
SRCDIR="$(dirname "${THISDIR}")"
VERSION="$(cat "${SRCDIR}/VERSION")"

is_alpine_distro=false && [[ -f "/etc/alpine-release" ]] && is_alpine_distro=true

uncompressed_size="12 KB" && [[ $is_alpine_distro == true ]] && uncompressed_size="4 KB"

################################################################################

# Take makeself options, generate a predefined archive, print --info to stdout.
#
# $@ : makeself options
haveInfo() (
    cd "${SRCDIR}" || return 1
    mkdir -p infotest
    ./makeself.sh "$@" ./infotest ./infotest.run infotest ls -lah >/dev/null 2>&1
    assertEquals "$?" 0 >&2
    ./infotest.run --info
    assertEquals "$?" 0 >&2
    rm -rf infotest infotest.run
)

# Read want.info from stdin. Generate have.info using given options. Invoke
# diff want.info have.info and return its exit status
#
# $@ : makeself options
diffInfo() {
    local rc=""
    cd "$(mktemp -d)" || return 1
    cat >want.info
    haveInfo "$@" >have.info
    if diff want.info have.info >&2; then
        rc="$?"
    else
        rc="$?"
    fi
    rm -f have.info want.info
    return "${rc}"
}

testDefault() (
    cd "$(mktemp -d)" || return 1
    diffInfo --packaging-date "@0" <<EOF
Identification: infotest
Target directory: infotest
Uncompressed size: $uncompressed_size
Compression: gzip
Encryption: n
Date of packaging: @0
Built with Makeself version ${VERSION}
Build command was: ./makeself.sh \\
    "--packaging-date" \\
    "@0" \\
    "./infotest" \\
    "./infotest.run" \\
    "infotest" \\
    "ls" \\
    "-lah"
Script run after extraction:
     ls -lah
infotest will be removed after extraction
EOF
    assertEquals "$?" 0
)

testNocomp() (
    cd "$(mktemp -d)" || return 1
    diffInfo --packaging-date "@0" --nocomp <<EOF
Identification: infotest
Target directory: infotest
Uncompressed size: $uncompressed_size
Compression: none
Encryption: n
Date of packaging: @0
Built with Makeself version ${VERSION}
Build command was: ./makeself.sh \\
    "--packaging-date" \\
    "@0" \\
    "--nocomp" \\
    "./infotest" \\
    "./infotest.run" \\
    "infotest" \\
    "ls" \\
    "-lah"
Script run after extraction:
     ls -lah
infotest will be removed after extraction
EOF
    assertEquals "$?" 0
)

testNotemp() (
    cd "$(mktemp -d)" || return 1
    diffInfo --packaging-date "@0" --notemp <<EOF
Identification: infotest
Target directory: infotest
Uncompressed size: $uncompressed_size
Compression: gzip
Encryption: n
Date of packaging: @0
Built with Makeself version ${VERSION}
Build command was: ./makeself.sh \\
    "--packaging-date" \\
    "@0" \\
    "--notemp" \\
    "./infotest" \\
    "./infotest.run" \\
    "infotest" \\
    "ls" \\
    "-lah"
Script run after extraction:
     ls -lah
directory infotest is permanent
EOF
    assertEquals "$?" 0
)

################################################################################

# Load and run shUnit2.
source "./shunit2/shunit2"