diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-10 16:36:17 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-10 16:36:17 -0500 |
| commit | 93063d8a35060d5467e2d056bd4496e51f17ddc1 (patch) | |
| tree | 666a81fdb34e758ffb1a49ab8808d0efcdd1face /tests/test-testutil-general.el | |
| parent | 08cf28b2b752a9fdad10201484763f1fbb5733b3 (diff) | |
| download | chime-93063d8a35060d5467e2d056bd4496e51f17ddc1.tar.gz chime-93063d8a35060d5467e2d056bd4496e51f17ddc1.zip | |
test: harden test dependency and temp-dir setup
Diffstat (limited to 'tests/test-testutil-general.el')
| -rw-r--r-- | tests/test-testutil-general.el | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test-testutil-general.el b/tests/test-testutil-general.el new file mode 100644 index 0000000..7b4e445 --- /dev/null +++ b/tests/test-testutil-general.el @@ -0,0 +1,49 @@ +;;; test-testutil-general.el --- Tests for shared test file utilities -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Craig Jennings + +;;; Commentary: + +;; Tests for the shared filesystem helpers in testutil-general.el. + +;;; Code: + +(require 'test-bootstrap (expand-file-name "test-bootstrap.el")) +(require 'testutil-general (expand-file-name "testutil-general.el")) + +(ert-deftest test-chime-test-default-base-dir-uses-env-override () + "Normal: CHIME_TEST_TMPDIR selects an explicit test root." + (cl-letf (((symbol-function 'getenv) + (lambda (name) + (when (string= name "CHIME_TEST_TMPDIR") + "/tmp/chime-explicit-root")))) + (should (equal "/tmp/chime-explicit-root/" + (chime-test--default-base-dir))))) + +(ert-deftest test-chime-test-default-base-dir-uses-temporary-directory () + "Normal: absent override uses a unique temp-directory path." + (let ((temporary-file-directory "/tmp/chime-parent/")) + (cl-letf (((symbol-function 'getenv) (lambda (_name) nil))) + (should (string-prefix-p + "/tmp/chime-parent/chime-tests-" + (chime-test--default-base-dir)))))) + +(ert-deftest test-chime-test-base-dir-is-not-fixed-home-path () + "Regression: default test root is no longer ~/.temp-chime-tests/." + (skip-unless (not (getenv "CHIME_TEST_TMPDIR"))) + (should-not + (equal (expand-file-name "~/.temp-chime-tests/") + chime-test-base-dir))) + +(ert-deftest test-chime-test-base-dir-create-and-delete-roundtrip () + "Normal: create and delete work for the configured test root." + (unwind-protect + (progn + (should (equal (file-name-as-directory chime-test-base-dir) + (chime-create-test-base-dir))) + (should (file-directory-p chime-test-base-dir))) + (chime-delete-test-base-dir)) + (should-not (file-exists-p chime-test-base-dir))) + +(provide 'test-testutil-general) +;;; test-testutil-general.el ends here |
