environment.scm 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ;;;; environment.scm -- tests for (mcron environment) module
  2. ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
  3. ;;;
  4. ;;; This file is part of GNU Mcron.
  5. ;;;
  6. ;;; GNU Mcron is free software: you can redistribute it and/or modify
  7. ;;; it under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation, either version 3 of the License, or
  9. ;;; (at your option) any later version.
  10. ;;;
  11. ;;; GNU Mcron is distributed in the hope that it will be useful,
  12. ;;; but 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 Mcron. If not, see <http://www.gnu.org/licenses/>.
  18. (use-modules (srfi srfi-64)
  19. (mcron environment))
  20. (test-begin "environment")
  21. (test-assert "modifiy-environment: basic"
  22. (begin
  23. (modify-environment '(("FOO" . "bar")) (getpw))
  24. (equal? (getenv "FOO") "bar")))
  25. (test-assert "modifiy-environment: user & logname"
  26. ;; Check that USER and LOGNAME environment variables can't be changed.
  27. (let* ((user-entry (pk (getpw)))
  28. (user-name (passwd:name user-entry)))
  29. (modify-environment '(("USER" . "alice")) user-entry)
  30. (modify-environment '(("LOGNAME" . "bob")) user-entry)
  31. (equal? user-name
  32. (pk (getenv "USER"))
  33. (pk (getenv "LOGNAME")))))
  34. (test-end)