| 1 | # GNU Guix --- Functional package management for GNU |
| 2 | # Copyright © 2018 Ludovic Courtès <ludo@gnu.org> |
| 3 | # |
| 4 | # This file is part of GNU Guix. |
| 5 | # |
| 6 | # GNU Guix is free software; you can redistribute it and/or modify it |
| 7 | # under the terms of the GNU General Public License as published by |
| 8 | # the Free Software Foundation; either version 3 of the License, or (at |
| 9 | # your option) any later version. |
| 10 | # |
| 11 | # GNU Guix is distributed in the hope that it will be useful, but |
| 12 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | # GNU General Public License for more details. |
| 15 | # |
| 16 | # You should have received a copy of the GNU General Public License |
| 17 | # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | |
| 19 | # |
| 20 | # Test 'guix describe'. |
| 21 | # |
| 22 | |
| 23 | guix describe --version |
| 24 | |
| 25 | tmpfile="t-guix-describe-$$" |
| 26 | trap "rm -f $tmpfile" EXIT |
| 27 | rm -f "$tmpfile" |
| 28 | |
| 29 | if [ -d "$abs_top_srcdir/.git" ] |
| 30 | then |
| 31 | # Since we're in a Git checkout, we can at least check that these things |
| 32 | # work. |
| 33 | guix describe | grep -i "checkout" |
| 34 | if git --version > /dev/null 2>&1 |
| 35 | then |
| 36 | result="`guix describe | grep commit: | cut -d : -f 2-`" |
| 37 | commit="`git log | head -1 | cut -c 7-`" |
| 38 | test "x$result" = "x$commit" |
| 39 | fi |
| 40 | guix describe -f channels |
| 41 | case "`guix describe -f channels | grep url`" in |
| 42 | *"(url \"$abs_top_srcdir\")") true;; |
| 43 | *) false;; |
| 44 | esac |
| 45 | else |
| 46 | exit 77 |
| 47 | fi |