guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/01: Fix crypt-on-glibc test error


From: Andy Wingo
Subject: [Guile-commits] 01/01: Fix crypt-on-glibc test error
Date: Thu, 21 Feb 2019 05:13:39 -0500 (EST)

wingo pushed a commit to branch stable-2.2
in repository guile.

commit 27ffbfb0235de466016ea5a6421508f6548971b6
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 1 17:18:50 2019 +0100

    Fix crypt-on-glibc test error
    
    * test-suite/tests/posix.test ("crypt"): Allow for the given salt being
      valid.  Thanks to Jonathan Brielmaier for the report and debugging!
---
 test-suite/tests/posix.test | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/test-suite/tests/posix.test b/test-suite/tests/posix.test
index d3170c7..87a0c70 100644
--- a/test-suite/tests/posix.test
+++ b/test-suite/tests/posix.test
@@ -262,10 +262,17 @@
   (pass-if "basic usage"
     (string? (crypt "pass" "abcdefg")))
 
-  (pass-if-exception "glibc EINVAL" exception:system-error
-    ;; This used to deadlock while trying to throw to 'system-error'.
-    ;; This test uses the special interpretation of the salt that glibc
-    ;; does; specifically, we pass a syntactically invalid salt here.
-    (if (string-contains %host-type "-gnu")
-        (crypt "pass" "$X$abc")                   ;EINVAL
-        (throw 'unresolved))))
+  (pass-if "crypt invalid salt on glibc"
+    (begin
+      (unless (string-contains %host-type "-gnu")
+        (throw 'unresolved))
+      (catch 'system-error
+             (lambda ()
+               ;; This used to deadlock on glibc while trying to throw to
+               ;; 'system-error'.  This test uses the special
+               ;; interpretation of the salt that glibc does;
+               ;; specifically, we pass a salt that's probably
+               ;; syntactically invalid here.  Note, whether it's invalid
+               ;; or not is system-defined, so it's possible it just works.
+               (string? (crypt "pass" "$X$abc")))
+             (lambda _ #t)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]