From patchwork Sat Dec 27 20:42:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1079 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868242; bh=CSKfkumU5GAN0N9vNCkFaVrYfeikNoi+k5SavLLZyX8=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=CxMXTa77TtvcccclA2ZJMXSuOI59dcDQtMDOO6wMhWkUhFZupEQmRrFePlyS4Khmo XxEVfAnw9BVo6OhiaqQpUMKzaUvbJDqrOhlYUbMnBfqk3jcwsCqr7agbFFGivUdr9s lApOLRbbIjG2ch71YT2IEs433uQ8yn5IdT1EMg9v/3HRL3y2FqG+43uVMuqhj6yZyd lMDrpBlSvPHY7FocKkyC9X2euUJDBMG6Vj5TmyaZYlDnerwQFYj3m6WrfMpQm4u96S yZLQJiyeBFae2tOV2w32CkwnBmB1KyvT40FJBE/p46fFCTHfOOou4FS3urAtdtjzkA YgE+dIZbtg99w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5BD6B64C0C for ; Sat, 27 Dec 2025 13:44:02 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ONs4KifuGNTK for ; Sat, 27 Dec 2025 13:44:02 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868242; bh=CSKfkumU5GAN0N9vNCkFaVrYfeikNoi+k5SavLLZyX8=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=CxMXTa77TtvcccclA2ZJMXSuOI59dcDQtMDOO6wMhWkUhFZupEQmRrFePlyS4Khmo XxEVfAnw9BVo6OhiaqQpUMKzaUvbJDqrOhlYUbMnBfqk3jcwsCqr7agbFFGivUdr9s lApOLRbbIjG2ch71YT2IEs433uQ8yn5IdT1EMg9v/3HRL3y2FqG+43uVMuqhj6yZyd lMDrpBlSvPHY7FocKkyC9X2euUJDBMG6Vj5TmyaZYlDnerwQFYj3m6WrfMpQm4u96S yZLQJiyeBFae2tOV2w32CkwnBmB1KyvT40FJBE/p46fFCTHfOOou4FS3urAtdtjzkA YgE+dIZbtg99w== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4B7CF64E47 for ; Sat, 27 Dec 2025 13:44:02 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868240; bh=/1AXbtZX4LeOvb/nB7PtUlTrV0CipWITErPt4m3/AP0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jkHa2c+CLPlv83z98S2sFfQ7FO8xAG1BsfUd77+3BHWcI6cT7zABK7QB9wZ+AL1tW Hp7r9G6kUMwzL3IsSoyseA4RVGRCaaN58IsvPIriUQ4mCcAPgdbZ68FGY7qW8Ai2GY 9ABT2BfIKANUVoq1MnavpEyUQ6T6r5DXpU2s+xmAsopVVOOyKECD045xkz4a1zs+1r URgNnGXXWgk9sGEJk5I9HxIZ7Pjm8ghAOshuv2zlvEAO1P0974sNJseKGVAOeT1g+r oCdFGg0LOS98FCwGrq7Ud6mhl98rSfYa9a1eGhHLbesNvScwK9MCDywfpyf92sc3hT go0ijLL15TU9A== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4F13264E42; Sat, 27 Dec 2025 13:44:00 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id wtJDrAcAxvTL; Sat, 27 Dec 2025 13:44:00 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868235; bh=Rm1Ws/WiDQqaNzlgCWQbbZOwNQkC/Y+ShOveJ+ga6Hg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=spu0HYegDpX7DzXljfsY91gUZ6yxFFhFhLzP1xI6ZoWkbmRKfelL/nvXCBdy3nRFS 44gq3PALs2qzIurNlCnBeH62Thg2qlnJMhNy7sw/SZF2SoSDP5v1sbgk4NeYKL+VyI 6nYZZiPFOsZ3ZCS4R0gNx3xk/Nm6PIyXw5qFsMbGTd2MafsU654bOXEWbDmgNYUeCW j9HAUyJ9S7hDCQ3LQT8gNbDtIbb+Wk7TYhg93j6nIEwaTKf8xUOG+2ihKQK4h7Tc+I YTTr6i90ThRDbuGyYrf3wufkG8jsYSvkH8HXguJC052jtNYdc589W+yOnfcVj0QlzM ow8tVvM3U/9YA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 8D4E264C0C; Sat, 27 Dec 2025 13:43:55 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Sat, 27 Dec 2025 13:42:57 -0700 Message-ID: <20251227204318.886983-3-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251227204318.886983-1-sjg@u-boot.org> References: <20251227204318.886983-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: DFF5R6YZNBEBUPVHTQGAVMWHWPMC6FY3 X-Message-ID-Hash: DFF5R6YZNBEBUPVHTQGAVMWHWPMC6FY3 X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt , Simon Glass , "Claude Opus 4 . 5" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 02/16] buildman: Fix flaky test_kconfig_change test properly List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass The previous fix using -T4 is insufficient because queue-based job distribution does not guarantee one board per thread. Even with 4 threads and 4 boards, a faster thread can finish its board and grab another from the queue, causing .config to leak between boards in the same thread's work directory. Fix by using -P (per-board-out-dir) which gives each board its own output directory, completely preventing .config leakage regardless of thread scheduling. Fixes: 17618b597508 ("buildman: Fix flaky test_kconfig_change test") Co-developed-by: Claude Opus 4.5 Signed-off-by: Simon Glass --- tools/buildman/func_test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py index 31cff04a060..6167ea525e7 100644 --- a/tools/buildman/func_test.py +++ b/tools/buildman/func_test.py @@ -1285,13 +1285,13 @@ something: me config_exists[0] = True return exists - # Run buildman with kconfig checking enabled. Use -T4 to ensure each - # board gets its own thread, avoiding .config leaking between boards - # when a thread processes multiple boards (which happens with <4 CPUs) + # Run buildman with kconfig checking enabled. Use -P to give each + # board its own output directory, preventing .config from leaking + # between boards when a thread processes multiple boards sequentially. with mock.patch.object(builderthread, 'kconfig_changed_since', mock_kconfig_changed): self._RunControl('-b', TEST_BRANCH, '-c2', '-o', self._output_dir, - '-T4') + '-P') # Verify kconfig_changed_since was called self.assertGreater(call_count[0], 0)