From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id IIPmL20Dc2H3eAEAgWs5BA (envelope-from ) for ; Fri, 22 Oct 2021 20:31:09 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id YPuHK20Dc2H1LwAAbx9fmQ (envelope-from ) for ; Fri, 22 Oct 2021 18:31:09 +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 EAFA536027 for ; Fri, 22 Oct 2021 20:31:08 +0200 (CEST) Received: from localhost ([::1]:39548 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mdzJs-0002G7-0u for larch@yhetil.org; Fri, 22 Oct 2021 14:31:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38900) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mdzHK-0000Rc-2r for guix-devel@gnu.org; Fri, 22 Oct 2021 14:28:31 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:41931) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mdzHH-00018L-JS; Fri, 22 Oct 2021 14:28:29 -0400 Received: by mail-wr1-x441.google.com with SMTP id d3so2240908wrh.8; Fri, 22 Oct 2021 11:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=F6gXAs+Z6O4syv6qiHhpgogESTFbVwRDw0hofrY4jqU=; b=MCgnAMx0upcCBsIoAaKsIHLAi7z8+ILHyJdZLSJmKpNnU7tW+xAm0/yaDZd2GSVjK9 JN5KdwGD4eYVDr6pTGmZvmijKWNVfwHvX5HdTriNuqdwn7VO3vVb+JAm49pqnpkR07j9 HB0kWG3GTIJiXwGTcPAZOU8qrABsFoEBwpPfR1XsAIOOsfcG4gORt2pYtRVEV3DU1dBW yd3sf889BvJkBE0vfIOQ0LZd3yp3lzR7WAeQvCY0h++nBmVaD1RMWV0cpq3jLlue+dO3 yAAQq5NZCfXu0umzHo8VXCeE7GfWZq+bRpVcfxGUm0aL9WbGLuVW9BMJt3uXv4Sa0YLm HCAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=F6gXAs+Z6O4syv6qiHhpgogESTFbVwRDw0hofrY4jqU=; b=qu2rVw/ZNY1f3apppl7BwMjfOjkjZyorxonLbGskRRxm2UARPCwfn+3x+C/UUJzFlL FUdLYJFuzbPZo1Qg0or8o0g8bcaiwVAICCkg0D9x6IIX1ZmEv0tcE3Si1BjjVsEIidVa yVodn80C7i+0A5I2n28GfYYTObsjQaKKtxocrryy4AYxiISB7sQm6WuuBF5XdOE8Ij7S 57ye1NnemJbF3x0n0OWDdmPhkRwy7Gsri4i7i78tK2YZowTJ33lOr3j54+P9gvVZylQ/ QpcSpepj7x26TVtfuwraWlE3npC+VbdwMbqlNxM22HVPeiWfbolSi/DhGWbQIuKAQJXk LOtA== X-Gm-Message-State: AOAM533eax1DhobLocafFKA8JSZ0xN9ZI2ML18OnFgBhLPz01nK95stH sydBJA/EnPOrDNoWmwuiOfs= X-Google-Smtp-Source: ABdhPJyEqCmw6T63X0XgRMhhU/ArOuHvZUkyssfHVxo5LpvjN89Whsdn1KkY7Sk2OTOEDV7pKDbm/A== X-Received: by 2002:a5d:65ca:: with SMTP id e10mr1838058wrw.176.1634927305653; Fri, 22 Oct 2021 11:28:25 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id g3sm10123180wri.45.2021.10.22.11.28.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Oct 2021 11:28:25 -0700 (PDT) Message-ID: <2c79b01aee539d8f228d59259175becb33965fdb.camel@gmail.com> Subject: Re: Test parallelism with CMake From: Liliana Marie Prikler To: Greg Hogan , Ludovic =?ISO-8859-1?Q?Court=E8s?= , guix-devel@gnu.org Date: Fri, 22 Oct 2021 20:28:22 +0200 In-Reply-To: References: <3906845baca1424432c1fd5c3ab23c1400695b66.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=liliana.prikler@gmail.com; helo=mail-wr1-x441.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1634927469; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=F6gXAs+Z6O4syv6qiHhpgogESTFbVwRDw0hofrY4jqU=; b=HDdHrzOF6DHwBYQEegPTyfJLHW2iXfniQnYXU6uAfmPEMPa2zcQVLnGeFaQ8UJ9EBLuryZ x9wBvCfb/xQUbs9Hyr3BmZh/NZksWWbZW8TM64ZnvWeiApzAfLG3C9/QKVnfLF29wWi4y/ Q2qo523H8JmfKpelPqhN759JVUW8vtvWGMdeqN0u9LqR7y3IPzlp0IODJXqyYPuzduVNRr SK2qQpJCKzSbbO5k5Ss3lz7fWS+5+Bm1H6Tfnuox9ZxawZPEYv5eej2fEzSeZdqqyogVrd +IXTAP+0hxtcrSDIqWZNbo1abB+GXCgQOVILhRoIHZH+51i7IAl6f9rH+OjtvQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1634927469; a=rsa-sha256; cv=none; b=mLqy35011y5AHFv0flbO5+weHvx4IIQDVN+zzCSwiUysuh2iRIuoAKRpMO0z5vwGXvfEvr DyTRmBTfI+Nkn+Ag+EPqGDsZXaKnTPoLGMUF4ROuI0qkWDL1l6YtNcgU5C+Drs39IuZHX9 GEmS32wmib0szpu2ZXhQI0t+H4qXWnNJMWp4CIQyvSG4YNWvZKhL5zzAy5q7H+Rcb+P2XR JOS7UJUOodiGn1U7m+Ktr/oefhwhUSitPws0MwVZunqztEtX3SYqDIi4YHMtEri49aAOyX oIL2h68by1WfrKFmt+GZMk1JR19H/gR+8qk3k1qw6Zn7kmkWwMo1+kJu+QxwEw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MCgnAMx0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.63 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MCgnAMx0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: EAFA536027 X-Spam-Score: -1.63 X-Migadu-Scanner: scn0.migadu.com X-TUID: Do5o3ixelMOm Hi, Am Freitag, den 22.10.2021, 09:10 -0400 schrieb Greg Hogan: > The cmake-build-system does defer to gnu-build-system, which calls > `make test -jN`; however, CMake generated Makefile specifies 'test' > as a single target (the Ninja generator suffers from the same issue) > so `ctest` is run without parallelism. That does sound like a CMake bug. Has no one on their end addressed that like since the inception of CMake? > To run CMake tests with parallelism the cmake-build-system should > directly call `ctest` with the configured parallelism (same '-jN' > argument). The cmake-build-system's check method is essentially > untouched from March, 2013 (commit c6bded8a) so this issue has > existed from the beginning. > > I made an inelegant patch to my local guix repo, essentially > replacing cmake-build-system:check with a copy of gnu-build- > system:check and changing 'apply invoke "make" test-target' to 'apply > invoke "ctest"'. This works, although the package I was working on > requires parallel tests to be disabled. Once the expectation is set > that code will be run serially it is difficult to change the default > to parallel execution. > > It seems that we should at a minimum document the issue in cmake- > build-system:check. We could patch cmake-build-system to enable test > parallelism and explicitly disable that setting for packages which > succeed before but fail after making the change. What do you think? I'm not too sure on any of this. For one, we'd have to survey whether really all CMake-based packages use ctest to build and not any other tool of their choosing. Next, we'd have to adjust the calling conventions to add support for ctest command syntax, given that it is indeed another tool with probably conventions from make itself. Finally, messing with cmake-build-system would most likely result in a world rebuild, so we can realistically do this on core-updates. Regards, Liliana