summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-10-30 16:19:51 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-10-30 16:19:51 +0900
commit3ae5c9f2a78ce85beceb7467479c741e4c046830 (patch)
tree64b2cdadb7f3d48682afb0c852ef2ef609e5f419 /tests
parent0f39db9c1942969bcbc603b306d8e47f8feb8566 (diff)
Revert "syscalls: Add mmap support."
This reverts commit e1994a021437b3fd73089c08d7e8db876fad698d.
Diffstat (limited to 'tests')
-rw-r--r--tests/syscalls.scm70
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))