aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-hash.sh
blob: c4461fa955f93d7e493b3beb37b8daeac337d4cf (about) (plain)
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
# GNU Guix --- Functional package management for GNU
# Copyright © 2013, 2014, 2016, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

#
# Test the `guix hash' command-line utility.
#

guix hash --version

tmpdir="guix-hash-$$"
trap 'rm -rf "$tmpdir"' EXIT

test `guix hash /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `echo -n | guix hash -` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `guix hash -f nix-base32 /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `guix hash -f hex /dev/null` = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
test `guix hash -f base32 /dev/null` = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq
test `guix hash -H sha512 -f hex /dev/null` = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
test `guix hash -H sha1 -f base64 /dev/null` = "2jmj7l5rSw0yVb/vlWAYkK/YBwk="

! guix hash -H abcd1234 /dev/null

mkdir "$tmpdir"
echo -n executable > "$tmpdir/exe"
chmod +x "$tmpdir/exe"
( cd "$tmpdir" ; ln -s exe symlink )
mkdir "$tmpdir/subdir"

test `guix hash -r "$tmpdir"` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p
test `guix hash -r "$tmpdir" -H sha512` = 301ra58c2vahczzxiyfin41mpyb0ljh4dh9zn3ijvwviaw1j40sfzw5skh9x945da88n3785ggifzig7acd6k72h0mpsc20m1f66m9n

# Without '-r', this should fail.
! guix hash "$tmpdir"

# This should fail because /dev/null is a character device, which
# the archive format doesn't support.
! guix hash -r /dev/null

# Adding a .git directory
mkdir "$tmpdir/.git"
touch "$tmpdir/.git/foo"

# ...changes the hash
test `guix hash -r $tmpdir` = 0a50z04zyzf7pidwxv0nwbj82pgzbrhdy9562kncnvkcfvb48m59

# ...but remains the same when using `-x'
test `guix hash -r $tmpdir -x` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p

# Without '-r', this should fail.
! guix hash "$tmpdir"

-12-22 10:45:37 +0200'>2021-12-22gnu: weechat: Enable tests on all architectures....* gnu/packages/irc.scm (weechat)[arguments]: Remove test field. Efraim Flashner 2021-12-22gnu: weechat: Only build docs on some architectures....* gnu/packages/irc.scm (weechat)[native-inputs]: Only use ruby-asciidoctor on architectures supported by GHC. [arguments]: Only build manpages and docs on some architectures. Only move documentation when it is built. Efraim Flashner 2021-12-17gnu: irssi: Enable true-color and unicode support....* gnu/packages/irc.scm (irssi)[inputs]: Add utf8proc. [configure-flags](enable-true-color): New flag. Raghav Gururajan 2021-12-17gnu: weechat: Enable documentation and man-pages....* gnu/packages/irc.scm (weechat)[outputs](doc): New output. [configure-flags](ENABLE_MAN,ENABLE_DOC): New flags. [phases](move-doc): New phase. [native-inputs]: Add ruby-asciidoctor. Raghav Gururajan 2021-12-17gnu: weechat: Enable ruby support for scripting....* gnu/packages/irc.scm (weechat)[configure-flags](ENABLE_RUBY): Remove flag. [inputs]: Add ruby. Raghav Gururajan 2021-12-13gnu: Simplify package inputs....This commit was obtained by running: ./pre-inst-env guix style without any additional argument. Ludovic Courtès 2021-12-10Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe 2021-12-05gnu: Add litterbox....* gnu/packages/irc.scm (litterbox): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> jgart 2021-11-03Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner 2021-11-03gnu: kirc: Update to 0.2.9....* gnu/packages/irc.scm (kirc): Update to 0.2.9. Tobias Geerinckx-Rice 2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe 2021-10-12gnu: srain: Update to 1.3.0....* gnu/packages/irc.scm (srain): Update to 1.3.0. Signed-off-by: Leo Famulari <leo@famulari.name> Vinicius Monego 2021-10-06gnu: Add catgirl....* gnu/packages/irc.scm (catgirl): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> jgart 2021-10-03gnu: weechat: Update to 3.3....* gnu/packages/irc.scm (weechat): Update to 3.3. Tobias Geerinckx-Rice 2021-09-19gnu: srain: Update to 1.2.4....* gnu/packages/irc.scm (srain): Update to 1.2.4. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Vinicius Monego