[PATCH]: gnu: cl-portable-threads: Enable tests

  • Open
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Sharlatan Hellseher
Severity
normal
S
S
Sharlatan Hellseher wrote on 22 May 2021 22:40
(address . guix-patches@gnu.org)
CAO+9K5rJ8XXosECK-KAgx-y=3t-WK8kfgqSKcC08093vdekhxA@mail.gmail.com
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

Toggle snippet (107 lines)
;; 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

There is only one reported issue upstream, which is resolved

--
… ??? ????? - ???????????? ?????????????? ?????? ??????? ????????
????? ????? ????? ? ??? ??????, ??????????? ????? ???????, ??
?????????? ?? ? ????????? ??????? ????? ? ?????????????????.
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(-)

Toggle diff (16 lines)
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
G
G
Guillaume Le Vaillant wrote on 23 May 2021 13:46
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 48593@debbugs.gnu.org)
87r1hxbrln.fsf@kitej
Sharlatan Hellseher <sharlatanus@gmail.com> skribis:

Toggle quote (3 lines)
> 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:

Toggle snippet (21 lines)
;; 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>.

Does it work on your machine?
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYKpAhA8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j98tQD8DVCkT6B/nstUPhZeQ2S6Hjf5jpZv4EtVKebX
eY2oyh0A/12cj9T2IXF/Ts30ecbmCw3AyAWPDsD3zDi6pHGuFSu6
=OgcV
-----END PGP SIGNATURE-----

S
S
Sharlatan Hellseher wrote on 23 May 2021 17:34
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 48593@debbugs.gnu.org)
CAO+9K5of4e17ZJRJ8EVZr3hPp4MiwfS+d88e2_5_FhmnFFQ55w@mail.gmail.com
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

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:
Toggle quote (34 lines)
>
> 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?



--

… ??? ????? - ???????????? ?????????????? ?????? ??????? ????????
????? ????? ????? ? ??? ??????, ??????????? ????? ???????, ??
?????????? ?? ? ????????? ??????? ????? ? ?????????????????.
?