From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WE8rKJCc6F8nbAAA0tVLHw (envelope-from ) for ; Sun, 27 Dec 2020 14:39:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id YkgAJJCc6F8rMgAA1q6Kng (envelope-from ) for ; Sun, 27 Dec 2020 14:39:12 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A5E699401CD for ; Sun, 27 Dec 2020 14:39:11 +0000 (UTC) Received: from localhost ([::1]:34358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ktXCQ-0003gO-CW for larch@yhetil.org; Sun, 27 Dec 2020 09:39:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ktXCI-0003fr-Km for guix-patches@gnu.org; Sun, 27 Dec 2020 09:39:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:48958) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ktXCI-0003Oe-A2 for guix-patches@gnu.org; Sun, 27 Dec 2020 09:39:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ktXCI-0000JW-7w for guix-patches@gnu.org; Sun, 27 Dec 2020 09:39:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45460] [PATCH 1/5] utils: Remove 'compressed-output-port'. References: <20201227141327.10827-1-ludo@gnu.org> In-Reply-To: <20201227141327.10827-1-ludo@gnu.org> Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 27 Dec 2020 14:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45460 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 45460@debbugs.gnu.org Received: via spool by 45460-submit@debbugs.gnu.org id=B45460.16090799031113 (code B ref 45460); Sun, 27 Dec 2020 14:39:02 +0000 Received: (at 45460) by debbugs.gnu.org; 27 Dec 2020 14:38:23 +0000 Received: from localhost ([127.0.0.1]:60494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ktXBe-0000Hs-NM for submit@debbugs.gnu.org; Sun, 27 Dec 2020 09:38:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ktXBc-0000HR-Ng for 45460@debbugs.gnu.org; Sun, 27 Dec 2020 09:38:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49695) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ktXBX-00039X-6F; Sun, 27 Dec 2020 09:38:15 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51504 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ktXBW-0001Rq-Ho; Sun, 27 Dec 2020 09:38:14 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sun, 27 Dec 2020 15:38:05 +0100 Message-Id: <20201227143809.18554-1-ludo@gnu.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.82 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: A5E699401CD X-Spam-Score: -1.82 X-Migadu-Scanner: scn1.migadu.com X-TUID: CBgkJIXXvwha This procedure was unused except in one test. * guix/utils.scm (compressed-port): Remove. * tests/utils.scm (test-compression/decompression): Rewrite to use 'compressed-output-port' instead. --- guix/utils.scm | 13 ------------- tests/utils.scm | 43 +++++++++++++++++++++++++++++-------------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/guix/utils.scm b/guix/utils.scm index a591b62f30..e3c78959ed 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -109,7 +109,6 @@ edit-expression filtered-port - compressed-port decompressed-port call-with-decompressed-port compressed-output-port @@ -224,18 +223,6 @@ a symbol such as 'xz." '())) (_ (error "unsupported compression scheme" compression)))) -(define (compressed-port compression input) - "Return an input port where INPUT is compressed according to COMPRESSION, -a symbol such as 'xz." - (match compression - ((or #f 'none) (values input '())) - ('bzip2 (filtered-port `(,%bzip2 "-c") input)) - ('xz (filtered-port `(,%xz "-c") input)) - ('gzip (filtered-port `(,%gzip "-c") input)) - ('lzip (values (lzip-port 'make-lzip-input-port/compressed input) - '())) - (_ (error "unsupported compression scheme" compression)))) - (define (call-with-decompressed-port compression port proc) "Call PROC with a wrapper around PORT, a file port, that decompresses data read from PORT according to COMPRESSION, a symbol such as 'xz." diff --git a/tests/utils.scm b/tests/utils.scm index 009e2121ab..c278b2a277 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Mathieu Lirzin ;;; @@ -182,19 +182,34 @@ skip these tests." method) (let ((data (call-with-input-file (search-path %load-path "guix.scm") get-bytevector-all))) - (let*-values (((compressed pids1) - (compressed-port method (open-bytevector-input-port data))) - ((decompressed pids2) - (decompressed-port method compressed))) - (and (every (compose zero? cdr waitpid) - (pk 'pids method (append pids1 pids2))) - (let ((result (get-bytevector-all decompressed))) - (pk 'len method - (if (bytevector? result) - (bytevector-length result) - result) - (bytevector-length data)) - (equal? result data)))))) + (call-with-temporary-output-file + (lambda (output port) + (close-port port) + (let*-values (((compressed pids) + ;; Note: 'compressed-output-port' only supports file + ;; ports. + (compressed-output-port method + (open-file output "w0")))) + (put-bytevector compressed data) + (close-port compressed) + (and (every (compose zero? cdr waitpid) + (pk 'pids method pids)) + (let*-values (((decompressed pids) + (decompressed-port method + (open-bytevector-input-port + (call-with-input-file output + get-bytevector-all)))) + ((result) + (get-bytevector-all decompressed))) + (close-port decompressed) + (pk 'len method + (if (bytevector? result) + (bytevector-length result) + result) + (bytevector-length data)) + (and (every (compose zero? cdr waitpid) + (pk 'pids method pids)) + (equal? result data))))))))) (false-if-exception (delete-file temp-file)) (unless (run?) (test-skip 1)) -- 2.29.2