From 5af999fb20c5bae645a5f2005f0411a1130b7455 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sun, 25 Mar 2018 00:28:52 +0100 Subject: tests: Add "tests/utils.scm" * tests/utils.scm: New test. * Makefile.am (TESTS): Add it. --- Makefile.am | 3 ++- tests/utils.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 tests/utils.scm diff --git a/Makefile.am b/Makefile.am index 07a492f..9c7e5c1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -138,7 +138,8 @@ TESTS = \ tests/schedule.sh \ tests/base.scm \ tests/environment.scm \ - tests/job-specifier.scm + tests/job-specifier.scm \ + tests/utils.scm ## -------------- ## ## Distribution. ## diff --git a/tests/utils.scm b/tests/utils.scm new file mode 100644 index 0000000..5ec5d11 --- /dev/null +++ b/tests/utils.scm @@ -0,0 +1,51 @@ +;;;; utils.scm -- tests for (mcron utils) module +;;; Copyright © 2018 Mathieu Lirzin +;;; +;;; This file is part of GNU Mcron. +;;; +;;; GNU Mcron 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 Mcron 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 Mcron. If not, see . + +(use-modules (srfi srfi-64) + (mcron utils)) + +(test-begin "utils") + +(define entry + ;; Random user entry. + (getpw)) + +;;; Call 'get-user' with a valid uid. +(let ((uid (getuid))) + (test-equal "get-user: uid" + uid + (passwd:uid (get-user uid)))) + +;;; Call 'get-user' with a valid user name. +(let ((name (passwd:name entry))) + (test-equal "get-user: name" + name + (passwd:name (get-user name)))) + +;;; Call 'get-user' with a passwd entry. +(test-equal "get-user: passwd entry" + entry + (get-user entry)) + +;;; Call 'get-user' with an invalid uid. +(test-error "get-user: invalid uid" #t (get-user -20000)) + +;;; Call 'get-user' with an invalid spec. +(test-error "get-user: invalid spec" #t (get-user 'wrong)) + +(test-end) -- cgit v1.2.3