diff options
| author | Juri Linkov <juri@linkov.net> | 2024-05-20 09:22:10 +0300 |
|---|---|---|
| committer | Juri Linkov <juri@linkov.net> | 2024-05-20 09:22:41 +0300 |
| commit | 91e02dde5fefbba87dc4736df40cfaeec2c088c1 (patch) | |
| tree | ca5d4c23dc3f335986f70325db06a3f5ad2f92fa | |
| parent | 44d1687f1f6bc3d261aa2344a714b1f3397b3039 (diff) | |
New tests for nested archives (bug#70987)
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-zip-and-gz):
* test/lisp/arc-mode-tests.el (arc-mode-test-zip-extract-tar-and-gz):
New tests.
* test/data/decompress/tzg.tar.gz:
* test/data/decompress/ztg.zip:
New data files to test decompressing of different combinations
of nested tar and zip archives.
| -rw-r--r-- | test/data/decompress/tzg.tar.gz | bin | 0 -> 255 bytes | |||
| -rw-r--r-- | test/data/decompress/ztg.zip | bin | 0 -> 316 bytes | |||
| -rw-r--r-- | test/lisp/arc-mode-tests.el | 16 | ||||
| -rw-r--r-- | test/lisp/tar-mode-tests.el | 14 |
4 files changed, 30 insertions, 0 deletions
diff --git a/test/data/decompress/tzg.tar.gz b/test/data/decompress/tzg.tar.gz Binary files differnew file mode 100644 index 00000000000..611f543688e --- /dev/null +++ b/test/data/decompress/tzg.tar.gz diff --git a/test/data/decompress/ztg.zip b/test/data/decompress/ztg.zip Binary files differnew file mode 100644 index 00000000000..5f4aea4c8dc --- /dev/null +++ b/test/data/decompress/ztg.zip diff --git a/test/lisp/arc-mode-tests.el b/test/lisp/arc-mode-tests.el index acc416d6f78..5ebc56a84fc 100644 --- a/test/lisp/arc-mode-tests.el +++ b/test/lisp/arc-mode-tests.el @@ -46,6 +46,22 @@ (when (buffer-live-p zip-buffer) (kill-buffer zip-buffer)) (when (buffer-live-p gz-buffer) (kill-buffer gz-buffer))))) +(declare-function tar-extract "tar-mode") +(ert-deftest arc-mode-test-zip-extract-tar-and-gz () + (skip-unless (and archive-zip-extract (executable-find (car archive-zip-extract)))) + (skip-unless (executable-find "gzip")) + (require 'tar-mode) + (let* ((zip-file (expand-file-name "ztg.zip" arc-mode-tests-data-directory)) + zip-buffer tar-buffer gz-buffer) + (unwind-protect + (with-current-buffer (setq zip-buffer (find-file-noselect zip-file)) + (with-current-buffer (setq tar-buffer (archive-extract)) + (setq gz-buffer (tar-extract)) + (should (equal (char-after) ?\N{SNOWFLAKE})))) + (when (buffer-live-p zip-buffer) (kill-buffer zip-buffer)) + (when (buffer-live-p tar-buffer) (kill-buffer tar-buffer)) + (when (buffer-live-p gz-buffer) (kill-buffer gz-buffer))))) + (ert-deftest arc-mode-test-zip-ensure-ext () "Regression test for bug#61326." (skip-unless (executable-find "zip")) diff --git a/test/lisp/tar-mode-tests.el b/test/lisp/tar-mode-tests.el index b40cd39d112..bafe575fdda 100644 --- a/test/lisp/tar-mode-tests.el +++ b/test/lisp/tar-mode-tests.el @@ -46,6 +46,20 @@ (when (buffer-live-p tar-buffer) (kill-buffer tar-buffer)) (when (buffer-live-p gz-buffer) (kill-buffer gz-buffer))))) +(ert-deftest tar-mode-test-tar-extract-zip-and-gz () + (skip-unless (executable-find "gzip")) + (require 'arc-mode) + (let* ((tar-file (expand-file-name "tzg.tar.gz" tar-mode-tests-data-directory)) + tar-buffer zip-buffer gz-buffer) + (unwind-protect + (with-current-buffer (setq tar-buffer (find-file-noselect tar-file)) + (with-current-buffer (setq zip-buffer (tar-extract)) + (setq gz-buffer (archive-extract)) + (should (equal (char-after) ?\N{SNOWFLAKE})))) + (when (buffer-live-p tar-buffer) (kill-buffer tar-buffer)) + (when (buffer-live-p zip-buffer) (kill-buffer zip-buffer)) + (when (buffer-live-p gz-buffer) (kill-buffer gz-buffer))))) + (provide 'tar-mode-tests) ;;; tar-mode-tests.el ends here |
