diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/profiles.scm | 30 | ||||
-rw-r--r-- | tests/syscalls.scm | 34 |
2 files changed, 50 insertions, 14 deletions
diff --git a/tests/profiles.scm b/tests/profiles.scm index 61c801c351..d816248994 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -35,6 +35,11 @@ (define %store (open-connection-for-tests)) +(define-syntax-rule (test-assertm name exp) + (test-assert name + (run-with-store %store exp + #:guile-for-build (%guile-for-build)))) + ;; Example manifest entries. (define guile-1.8.8 @@ -156,19 +161,18 @@ (equal? (list glibc) install) (equal? (list (cons guile-1.8.8 guile-2.0.9)) upgrade))))) -(test-assert "profile-derivation" - (run-with-store %store - (mlet* %store-monad - ((entry -> (package->manifest-entry %bootstrap-guile)) - (guile (package->derivation %bootstrap-guile)) - (drv (profile-derivation (manifest (list entry)) - #:info-dir? #f)) - (profile -> (derivation->output-path drv)) - (bindir -> (string-append profile "/bin")) - (_ (built-derivations (list drv)))) - (return (and (file-exists? (string-append bindir "/guile")) - (string=? (dirname (readlink bindir)) - (derivation->output-path guile))))))) +(test-assertm "profile-derivation" + (mlet* %store-monad + ((entry -> (package->manifest-entry %bootstrap-guile)) + (guile (package->derivation %bootstrap-guile)) + (drv (profile-derivation (manifest (list entry)) + #:info-dir? #f)) + (profile -> (derivation->output-path drv)) + (bindir -> (string-append profile "/bin")) + (_ (built-derivations (list drv)))) + (return (and (file-exists? (string-append bindir "/guile")) + (string=? (dirname (readlink bindir)) + (derivation->output-path guile)))))) (test-end "profiles") diff --git a/tests/syscalls.scm b/tests/syscalls.scm index d65ec82740..21d6637ff6 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -74,7 +74,7 @@ (lset<= string=? names (all-network-interfaces))))) (test-assert "network-interface-flags" - (let* ((sock (socket SOCK_STREAM AF_INET 0)) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) (flags (network-interface-flags sock "lo"))) (close-port sock) (and (not (zero? (logand flags IFF_LOOPBACK))) @@ -90,6 +90,38 @@ (lambda args (system-error-errno args))))) +(test-skip (if (zero? (getuid)) 1 0)) +(test-equal "set-network-interface-flags" + EPERM + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-flags sock "lo" IFF_UP)) + (lambda args + (close-port sock) + (system-error-errno args))))) + +(test-equal "network-interface-address lo" + (make-socket-address AF_INET (inet-pton AF_INET "127.0.0.1") 0) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (addr (network-interface-address sock "lo"))) + (close-port sock) + addr)) + +(test-equal "set-network-interface-address" + EPERM + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-address sock "nonexistent" + (make-socket-address + AF_INET + (inet-pton AF_INET "127.12.14.15") + 0))) + (lambda args + (close-port sock) + (system-error-errno args))))) + (test-end) |