diff mbox series

[bug#48593] : gnu: cl-portable-threads: Enable tests

Message ID CAO+9K5rJ8XXosECK-KAgx-y=3t-WK8kfgqSKcC08093vdekhxA@mail.gmail.com
State New
Headers show
Series [bug#48593] : gnu: cl-portable-threads: Enable tests | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Sharlatan Hellseher May 22, 2021, 8:40 p.m. UTC
Hi Guix team!

I've enabled test and build the package and it looks ok for me, I am
not sure of the reason why it was disabled

--8<---------------cut here---------------start------------->8---
;; Starting portable threads tests...
;; Performing basic lock tests...
;;   Timing 1,000,000 nonrecursive-lock acquisitions... 0.04 seconds
;;   Timing 1,000,000 recursive-lock acquisitions... 0.05 seconds
;;   Timing 1,000,000 condition-variable lock acquisitions... 0.05 seconds
;;   Timing 1,000,000 nested nonrecursive-lock acquisitions... 0.08 seconds
;;   Timing 1,000,000 nested recursive-lock acquisitions... 0.06 seconds
;;   Checking with a non-lock object...
;;   Testing recursive locking with a recursive lock...
;;   Checking recursive locking with a non-recursive lock...
;;   Testing WITH-LOCK-HELD returned values...
;;   Testing WITH/WITHOUT-LOCK-HELD forms and throws...
;; Completed basic lock tests (0.29 seconds real time).
;; Testing atomic-incf/decf...
;; Completed atomic-incf/decf test
;; Testing atomic-incf&/decf&...
;; Completed atomic-incf&/decf& test
;; Performing WITH-TIMEOUT tests...
;; Completed WITH-TIMEOUT tests
;; Performing basic thread tests...
;;   Timing (sleep 0), run time should be close to zero seconds... 0.00 seconds
;;   Timing (sleep 10), run time should also be close to zero
seconds... 0.00 seconds
;;   Timing 100,000 (sleep 0)s... 0.09 seconds
;;   Timing 100,000 throwable (sleep 0)s... 0.10 seconds
;; Completed basic thread tests (20.76 seconds real time).
;; Performing nonrecursive lock contention tests...
;; Completed nonrecursive lock contention tests
;; Performing recursive lock contention tests...
;; Completed recursive lock contention tests
;; Performing nonrecursive-lock WITHOUT-LOCK-HELD contention tests...
;; Completed nonrecursive-lock WITHOUT-LOCK-HELD contention tests
;; Performing recursive-lock WITHOUT-LOCK-HELD contention tests...
;; Completed recursive-lock WITHOUT-LOCK-HELD contention tests
;; Performing condition-variable wait & signal tests...
;;    Also waiting on CV...
;;    Waiting on CV...
;;    Signaling CV...
;;    Also continuing on CV...
;;    Re-signaling CV...
;;    Continuing on CV...
;; Completed condition-variable wait & signal tests
;; Performing condition-variable wait & broadcast tests...


;;    Waiting on broadcast CV...
;;    Also waiting on broadcast CV...
;;    Signaling CV to all...
;;    Also continuing on broadcast CV...
;; Completed condition-variable wait & broadcast tests
;; Performing condition-variable-wait-with-timeout (non-timeout) tests...
;;    Continuing on broadcast CV...
;;    Also waiting-with-timeout on CV...
;;    Also waiting-with-timeout on CV...
;;    Waiting-with-timeout on CV...
;;    Signaling waiting-with-timeout CV...
;;    Continuing on waiting-with-timout CV...
;; Completed condition-variable wait-with-timeout (non-timeout) tests
;; Performing condition-variable wait-with-timeout (timeout) tests...
;;    Waiting-with-timeout (forever) on CV...
;;    Re-signaling waiting-with-timeout CV...
;;    Also continuing on waiting-with-timeout CV...
;; *************************************************************************
;; *** PORTABLE-THREADS:CONDITION-VARIABLE-WAIT-WITH-TIMEOUT did not
return nil on timeout
;; *************************************************************************
;;    Continuing without CV...
;; Completed condition-variable wait-with-timeout (timeout) tests
;; Performing hibernate/awaken thread tests...
;;   Hibernate ready signal received.
;;     Hibernating...
;;   Awakening thread...
;;     Awakened
;;     Waiting on proceed message...
;;   Awake signal received, signaling proceed.
;;   Waiting for rehibernate signal...
;;     Proceed signal received, signaling rehibernate.
;;     Rehibernating...
;;   Rehibernate ready signal received.
;;   Trying symbol-value-in-thread on hibernating thread...
;;   Re-awakening thread...
;;     Re-awakened
;;   Trying WITH-TIMEOUT on a hibernating thread...
;; Completed hibernate/awaken thread tests
;; Performing symbol-value-in-thread tests...
;;   Binding thread hibernating...
;;   Binding thread awakened.
;; Completed symbol-value-in-thread tests
;; Checking for unreclaimed threads...
;; Performing thread timing tests...
;;   Timing 10,000 spawn-threads... 0.18 seconds
;;   Timing 10,000 spawn and die threads... 0.18 seconds
;; Completed thread timing tests (0.65 seconds real time).
;; Performing condition-variable timing tests...
;;   Timing 10,000 condition-variable wait & signals... 0.03 seconds
;;   Completed condition-variable wait & signal timing test
;;      (0.02 seconds real time).
;;   Timing 10,000 condition-variable wait & broadcasts... 0.02 seconds
;;   Completed condition-variable wait & broadcast timing test
;;      (0.02 seconds real time).
;; Completed condition-variable timing tests
;; Completed portable threads tests (33.16 seconds real time).
;
; compilation unit finished
;   printed 1 note
--8<---------------cut here---------------start------------->8---

There is only one reported issue upstream, which is resolved
https://github.com/binghe/portable-threads/issues/2

Comments

Guillaume Le Vaillant May 23, 2021, 11:46 a.m. UTC | #1
Sharlatan Hellseher <sharlatanus@gmail.com> skribis:

> I've enabled test and build the package and it looks ok for me, I am
> not sure of the reason why it was disabled

I get an error when building ecl-portable-threads:

--8<---------------cut here---------------start------------->8---
;; Starting portable threads tests...
;; Performing basic lock tests...
;;   Timing 1,000,000 nonrecursive-lock acquisitions... 0.26 seconds
;;   Timing 1,000,000 recursive-lock acquisitions... 0.24 seconds
;;   Timing 1,000,000 condition-variable lock acquisitions... 0.28 seconds
;;   Timing 1,000,000 nested nonrecursive-lock acquisitions... 0.49 seconds
;;   Timing 1,000,000 nested recursive-lock acquisitions... 0.48 seconds
;;   Checking with a non-lock object...
;;   Testing recursive locking with a recursive lock...
;;   Checking recursive locking with a non-recursive lock...
;;   Testing WITH-LOCK-HELD returned values...
;;   Testing WITH/WITHOUT-LOCK-HELD forms and throws...
;; Completed basic lock tests (1.75 seconds real time).
;; Testing atomic-incf/decf...
;; Completed atomic-incf/decf test
;; Testing atomic-incf&/decf&...
;; Completed atomic-incf&/decf& test
;; Performing WITH-TIMEOUT tests...An error occurred during initialization:
Cannot interrupt the inactive process #<process WITH-TIMEOUT timer 0x7fffefce9880>.
--8<---------------cut here---------------end--------------->8---

Does it work on your machine?
Sharlatan Hellseher May 23, 2021, 3:34 p.m. UTC | #2
Hi Guillaume,

Yes it's my fault not to test ECL build as well, I can confirm it's
failed for ECL on my machine but SBCL is passed.
I've open an issue in upstream
https://github.com/binghe/portable-threads/issues/4

We probably can disable tests just for ECL implementation and keep SBCL one.

On Sun, 23 May 2021 at 11:46, Guillaume Le Vaillant <glv@posteo.net> wrote:
>
> Sharlatan Hellseher <sharlatanus@gmail.com> skribis:
>
> > I've enabled test and build the package and it looks ok for me, I am
> > not sure of the reason why it was disabled
>
> I get an error when building ecl-portable-threads:
>
> --8<---------------cut here---------------start------------->8---
> ;; Starting portable threads tests...
> ;; Performing basic lock tests...
> ;;   Timing 1,000,000 nonrecursive-lock acquisitions... 0.26 seconds
> ;;   Timing 1,000,000 recursive-lock acquisitions... 0.24 seconds
> ;;   Timing 1,000,000 condition-variable lock acquisitions... 0.28 seconds
> ;;   Timing 1,000,000 nested nonrecursive-lock acquisitions... 0.49 seconds
> ;;   Timing 1,000,000 nested recursive-lock acquisitions... 0.48 seconds
> ;;   Checking with a non-lock object...
> ;;   Testing recursive locking with a recursive lock...
> ;;   Checking recursive locking with a non-recursive lock...
> ;;   Testing WITH-LOCK-HELD returned values...
> ;;   Testing WITH/WITHOUT-LOCK-HELD forms and throws...
> ;; Completed basic lock tests (1.75 seconds real time).
> ;; Testing atomic-incf/decf...
> ;; Completed atomic-incf/decf test
> ;; Testing atomic-incf&/decf&...
> ;; Completed atomic-incf&/decf& test
> ;; Performing WITH-TIMEOUT tests...An error occurred during initialization:
> Cannot interrupt the inactive process #<process WITH-TIMEOUT timer 0x7fffefce9880>.
> --8<---------------cut here---------------end--------------->8---
>
> Does it work on your machine?
diff mbox series

Patch

From 118b36be60187b02d1b90b67a0104b3322a0471e Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Sat, 22 May 2021 21:34:52 +0100
Subject: [PATCH] gnu: cl-portable-threads: Enable tests

---
 gnu/packages/lisp-xyz.scm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5355c21678..f85693886c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3665,9 +3665,6 @@  portability, and boilerplate reduction in CSS.")
          (sha256
           (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
       (build-system asdf-build-system/sbcl)
-      (arguments
-       `(;; Tests seem broken.
-         #:tests? #f))
       (home-page "https://github.com/binghe/portable-threads")
       (synopsis "Portable threads API for Common Lisp")
       (description
-- 
2.31.1