GNU bug report logs -
#78906
[PATCH] services: mosquitto: Add test suite.
Previous Next
To reply to this bug, email your comments to 78906 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#78906
; Package
guix-patches
.
(Thu, 26 Jun 2025 12:07:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Evgeny Pisemsky <mail <at> pisemsky.site>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Thu, 26 Jun 2025 12:07:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/tests/messaging.scm (%test-mosquitto): New variable.
Change-Id: Ia84291576b9417ce678df3e0ed18caa6ce27b759
---
gnu/tests/messaging.scm | 79 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index 8df67433a7..43fbdee468 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017-2018, 2021-2022 Ludovic Courtès <ludo <at> gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim <at> flashner.co.il>
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2025 Evgeny Pisemsky <mail <at> pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,7 +43,8 @@ (define-module (gnu tests messaging)
%test-bitlbee
%test-ngircd
%test-pounce
- %test-quassel))
+ %test-quassel
+ %test-mosquitto))
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
@@ -592,3 +594,78 @@ (define %test-quassel
(name "quassel")
(description "Connect to a quassel IRC server.")
(value (run-quassel-test))))
+
+
+;;;
+;;; Mosquitto.
+;;;
+
+(define (run-mosquitto-test)
+ (define os
+ (marionette-operating-system
+ (simple-operating-system (service dhcpcd-service-type)
+ (service mosquitto-service-type))
+ #:imported-modules (source-module-closure
+ '((gnu services herd)))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-64)
+ (gnu build marionette))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (test-runner-current (system-test-runner #$output))
+ (test-begin "mosquitto")
+
+ (test-assert "service runs"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (wait-for-service 'mosquitto))
+ marionette))
+
+ (test-assert "service listens on TCP port 1883"
+ (wait-for-tcp-port 1883 marionette))
+
+ (test-equal "service receives a message"
+ 0
+ (marionette-eval
+ '(system* #$(file-append mosquitto "/bin/mosquitto_pub")
+ "-t" "test-topic"
+ "-m" "Hello, mosquitto!"
+ "-r")
+ marionette))
+
+ (test-equal "service returns a message"
+ "Hello, mosquitto!"
+ (marionette-eval
+ '(begin
+ (use-modules (ice-9 popen)
+ (ice-9 rdelim))
+ (let* ((port (open-pipe* OPEN_READ
+ #$(file-append
+ mosquitto
+ "/bin/mosquitto_sub")
+ "-t" "test-topic"
+ "-C" "1"))
+ (msg (read-line port)))
+ (close-pipe port)
+ msg))
+ marionette))
+
+ (test-end))))
+
+ (gexp->derivation "mosquitto-test" test))
+
+(define %test-mosquitto
+ (system-test
+ (name "mosquitto")
+ (description "Test a running Mosquitto MQTT broker.")
+ (value (run-mosquitto-test))))
base-commit: f126116b7af714a8ec1fc2307668199ec118f0bd
--
2.50.0
This bug report was last modified 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.