aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-lint.sh
blob: 97c2ea83fefcd6182b2b690080f97c29026184ef (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
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
# GNU Guix --- Functional package management for GNU
# Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
#
# 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 lint' command-line utility.
#

guix lint --version

# Choose a module directory not below any %LOAD-PATH component.  This is
# necessary when testing '-L' with a relative file name.
module_dir="$(mktemp -d)"

mkdir -p "$module_dir"
trap "rm -rf $module_dir" EXIT


cat > "$module_dir/foo.scm"<<EOF
(define-module (foo)
  #:use-module (guix packages)
  #:use-module (gnu packages base))

(define-public dummy
  (package (inherit hello)
    (name "dummy")
    (version "42")
    (synopsis "dummy package")
    (description "dummy package. Only used for testing purposes.")))
EOF

GUIX_PACKAGE_PATH="$module_dir"
export GUIX_PACKAGE_PATH

grep_warning ()
{
    res=`echo "$1" | grep -E -c "(synopsis|description) should"`
    echo $res
}

# Three issues with the dummy package:
# 1) the synopsis starts with the package name;
# 2) the synopsis starts with a lower-case letter;
# 3) the description has a single space following the end-of-sentence period.

out=`guix lint -c synopsis,description dummy 2>&1`
test `grep_warning "$out"` -eq 3

out=`guix lint -c synopsis dummy 2>&1`
test `grep_warning "$out"` -eq 2

out=`guix lint -c description dummy 2>&1`
test `grep_warning "$out"` -eq 1

out=`guix lint -c description,synopsis dummy 2>&1`
test `grep_warning "$out"` -eq 3

guix lint -c synopsis,invalid-checker dummy 2>&1 | \
   grep -q 'invalid-checker: invalid checker'

# Make sure specifying multiple packages works.
guix lint -c inputs-should-be-native dummy dummy@42 dummy


# Use --load-path instead.
unset GUIX_PACKAGE_PATH

out=`guix lint -L $module_dir -c synopsis,description dummy 2>&1`
test `grep_warning "$out"` -eq 3

# Make sure specifying multiple packages works.
guix lint -L $module_dir -c inputs-should-be-native dummy dummy@42 dummy

# Test '-L' with a relative file name.  'guix lint' will see "t-xyz/foo.scm"
# (instead of "foo.scm") and will thus fail to find it in %LOAD-PATH.  Check
# that it does find it anyway.  See <https://bugs.gnu.org/42543>.
(cd "$module_dir"/.. ; guix lint -c formatting -L "$(basename "$module_dir")" dummy@42) 2>&1 > "$module_dir/out"
test -z "$(cat "$module_dir/out")"

# Likewise, when there's a warning, 'package-field-location' used to crash
# because it can't find "t-xyz/foo.scm".  See <https://bugs.gnu.org/46390>.
(cd "$module_dir"/.. ; guix lint -c synopsis -L "$(basename "$module_dir")" dummy@42) 2>&1 > "$module_dir/out"
grep_warning "`cat "$module_dir/out"`"
>Liliana Marie Prikler 2024-01-21gnu: gnome-shell-extension-paperwm: Update to 44.17.0....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-paperwm): Update to 44.17.0. Change-Id: I3d9923ccfdb35b9952c24d8dd3d064c3cba7b8c2 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> terramorpha 2024-01-20gnu: Deprecate gnome-shell-extension-vertical-overview....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-vertical-overview): Replace with gnome-shell-extension-v-shell. Change-Id: I1c6539fd6532046f8445ee33b286645b9e68a053 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: Add gnome-shell-extension-v-shell....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-v-shell): New variable. Change-Id: Ib7e3cf5cffed621e2ccd54c84004c5ab8504fa9a Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-night-theme-switcher: Update to 74....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-night-theme-switcher): Update to 74. Change-Id: I712dad785d3d303252f35b4c73185b83b6e01e54 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-radio: Update to 21....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-radio): Update to 21. Change-Id: I11aab4c80c96d1237112bb9a089763bd3c331d1a Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-burn-my-windows: Update to 40....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-burn-my-windows): Update to 40. [arguments]: Convert to list of G-Expressions. Change-Id: Ib9551096437aeea0ff56e5e1ea6371ab72d61b02 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-blur-my-shell: Update to 47....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-blur-my-shell): Update to 47. Change-Id: I528579d9bd02361501977cbad6f9e752403ff37e Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: Deprecate gnome-shell-extension-hide-app-icon....This extension does not work with GNOME 44, and has not received any work. However, Just Perfection seems to have an option to hide application icons. * gnu/packages/gnome-xyz.scm (gnome-shell-extension-hide-app-icon): Deprecate in favor of gnome-shell-extension-just-perfection. Change-Id: I6af14b6c9e1db7176d9be6bec2b90f77e7db36c1 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-just-perfection: Update to 26.0....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-just-perfection): Update to 26.0. [arguments]: Convert to list of G-Expressions. Change-Id: Ib02ab984310705bfa435ab1ea8d47c74a6162db0 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-20gnu: gnome-shell-extension-gsconnect: Update to 55....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-gsconnect): Update to 55. [arguments]: Convert to list of G-Expressions. [#:configure-flags]: Do not set settings_schemadir nor post_install anymore. [#:phase 'skip-post-installation]: New phase. [inputs]: Drop labels. [native-inputs]: Drop labels. Change-Id: I63933e43815826a8ab91a472ecda235173486dae Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extensions-customize-ibus: Update to 86....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-customize-ibus): Update to 86. [arguments]: Convert to list of G-Expressions. [native-inputs]: Drop labels. [propagated-inputs]: Add ibus. Change-Id: I48dbc2bd9a8dea7e7a2b161089b433e1d72a8ff1 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extension-clipboard-indicator: Update to 47....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-clipboard-indicator): Update to 47. [arguments]: Convert to a list of G-Expressions. Change-Id: Ie982a1820dab1f01b2e8198cd6914d1e676865ad Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extension-appindicator: Update to 53....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-appindicator): Update to 53. Change-Id: Ifc3ae680b8f1d66068ce03e94d991de0d479da4e Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extension-unite-shell: Update to 72....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-unite-shell): Update to 72. Change-Id: Ie91c004cb0ab3f81d8ad7c4a15bb357d939d8508 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extension-dash-to-panel: Update to 56....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-dash-to-panel): Update to 56. [arguments]: Convert to list of G-Expressions. [native-inputs]: Add `(,glib "bin"). [propagated-inputs]: Remove `(,glib "bin"). Change-Id: I24a83766b750feb1004bbaf2f5badc9e21f1c30e Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-19gnu: gnome-shell-extension-dash-to-dock: Update to 79....* gnu/packages/gnome-xyz.scm (gnome-shell-extension-dash-to-dock): Update to 79. [arguments]: Convert to list of G-Expressions. [native-inputs]: Drop labels. Change-Id: I327027d8a0ffc2bc7d234fe6517724fd218b947c Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-14gnu: vala-language-server: Update to 0.48.7....* gnu/packages/gnome-xyz.scm (vala-language-server): Update to 0.48.7. Change-Id: I101091d73f0e26aab5e9fa8eb0dadaa3489f7dc3 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus