diff options
| author | Maxim Cournoyer <maxim@guixotic.coop> | 2025-10-30 16:19:51 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim@guixotic.coop> | 2025-10-30 16:19:51 +0900 |
| commit | 3ae5c9f2a78ce85beceb7467479c741e4c046830 (patch) | |
| tree | 64b2cdadb7f3d48682afb0c852ef2ef609e5f419 /tests | |
| parent | 0f39db9c1942969bcbc603b306d8e47f8feb8566 (diff) | |
Revert "syscalls: Add mmap support."
This reverts commit e1994a021437b3fd73089c08d7e8db876fad698d.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/syscalls.scm | 70 |
1 files changed, 1 insertions, 69 deletions
diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 1ea49b0acc4..a0483e68f08 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -22,11 +22,8 @@ (define-module (test-syscalls) #:use-module (guix utils) - #:use-module (guix build io) #:use-module (guix build syscalls) - #:use-module (guix build utils) #:use-module (gnu build linux-container) - #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) @@ -34,7 +31,7 @@ #:use-module (system foreign) #:use-module ((ice-9 ftw) #:select (scandir)) #:use-module (ice-9 match) - #:use-module (ice-9 textual-ports)) + #:use-module (ice-9 threads)) ;; Test the (guix build syscalls) module, although there's not much that can ;; actually be tested without being root. @@ -42,9 +39,6 @@ (define temp-file (string-append "t-utils-" (number->string (getpid)))) -(define strace-output - (string-append "t-utils-strace" (number->string (getpid)))) - (test-begin "syscalls") @@ -741,68 +735,6 @@ (member (system-error-errno args) (list EPERM ENOSYS))))) -(test-assert "mmap and munmap" - (begin - (call-with-output-file temp-file - (lambda (p) - (display "abcdefghij"))) - (let* ((len 5) - (bv (mmap (open-fdes temp-file O_RDONLY) len))) - (munmap bv)))) - -(test-equal "file->bytevector, reading" - #\6 - (begin - (call-with-output-file temp-file - (lambda (p) - (display "0123456789\n" p))) - (sync) - (integer->char - (bytevector-u8-ref (file->bytevector temp-file) 6)))) - -(test-equal "file->bytevector, writing" - "0000000700" - (begin - (call-with-output-file temp-file - (lambda (p) - (display "0000000000" p))) - (sync) - (let ((bv (file->bytevector temp-file - #:protection PROT_WRITE))) - - (bytevector-u8-set! bv 7 (char->integer #\7)) - (msync bv)) ;ensure the file gets written - (call-with-input-file temp-file get-string-all))) - -(unless (which "strace") - (test-skip 1)) -;;; This test currently fails, due to protected items in a guardian being -;;; dropped from weak hash tables (see: -;;; <https://codeberg.org/guile/guile/issues/44>). -(test-expect-fail 1) -(test-equal "manual munmap does not lead to double free" - 1 ;single munmap call - (begin - (call-with-output-file temp-file - (lambda (p) - (display "something interesting\n" p))) - (sync) - (gc) - (system (string-append "strace -o " strace-output - " -p " (number->string (getpid)) - " -e trace=munmap &")) - (sleep 1) ;allow strace to start - (let ((bv (file->bytevector temp-file))) - (munmap bv)) - (gc) - (sync) - (let ((text (call-with-input-file strace-output get-string-all))) - ;; The address seen by strace is not the same as the one seen by Guile, - ;; so we can't use it in the pattern. - (length (filter (cut string-prefix? "munmap(0x" <>) - (string-split text #\newline)))))) - (test-end) (false-if-exception (delete-file temp-file)) -(false-if-exception (delete-file strace-output)) |
