From patchwork Wed Aug 21 18:34:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1975068 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=EAqoh/em; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Wpw413wvLz1yXf for ; Thu, 22 Aug 2024 04:34:57 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A8A543858417 for ; Wed, 21 Aug 2024 18:34:54 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTP id 34F0F3858D35 for ; Wed, 21 Aug 2024 18:34:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 34F0F3858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 34F0F3858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724265280; cv=none; b=ik73FFAQm4mZpnipZkTU+I7GyzPbhYzGGNnol+CujxpQ2PqvGlIkLx4vakW4LcMfe4H1VIogKIb0yQv9YPZa3a+jisPbd+btr5vpT9aGrSYxoJMwFhOgvM8MfweYsUDArmCWNNimA9jhY9smTt0t9evPhNznOVxQSKBtgyJQLl0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724265280; c=relaxed/simple; bh=oXanTmaDJZTrO2cid4OJZqib2pDJJxHuBvdjvvb/jPM=; h=DKIM-Signature:From:To:Subject:Message-ID:Date:MIME-Version; b=qaHIhhDwMQ3EAIyWDAWUpzbY3ZJzCi5BayFhsBnjxSS4YmW5YVdo1bAHtWwUPqvhUlSGSoCASV0mJPWczzCd0J6MJO9BnpmGMoUdGyZKIMkbvZkeW1Kv0iLI8JBU/3jMZNt2XulEW9McB8LjG4MOCJ2y14O5TROyNmCftpmw66Q= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1724265278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=fSFi35S0IW3iD4Zwzfv9zZ7IVgZWUSC58wI6Amrhn/w=; b=EAqoh/emm/oXFflQnhyzJkADQEh0ks+mvCqNklBKBeObMXicrRz6OACMNCytWz3tN89wj5 cw2lJtjNoV4C38mcUdhG/mJFTF/1QOymVtHj+uW0Af0rUR0UQm8bBSM6br21n0JEXWF+Pa TsHQHcaO9f/FLn46Uow+KGYfEiGflh8= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-247-Je3uQzDJOBaMPDRiSCoCng-1; Wed, 21 Aug 2024 14:34:37 -0400 X-MC-Unique: Je3uQzDJOBaMPDRiSCoCng-1 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B4D571955EB3 for ; Wed, 21 Aug 2024 18:34:36 +0000 (UTC) Received: from oldenburg.str.redhat.com (unknown [10.2.16.11]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A43491955F6E for ; Wed, 21 Aug 2024 18:34:35 +0000 (UTC) From: Florian Weimer To: libc-alpha@sourceware.org Subject: [PATCH 0/2] FUSE-based testing for file system functions Message-ID: X-From-Line: e2382598d4b333f96655ba0b7ad35bc6ba754d4b Mon Sep 17 00:00:00 2001 Date: Wed, 21 Aug 2024 20:34:32 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SBL_CSS, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org This adds a FUSE-based test framework, similar to the DNS framework we have. It's portable across various kernel versions (tried heavily modified 3.10, 4.18, 5.10 kernels, and more or less stick 6.10.4). The test does not require root privileges if user namespace support is available. I think it's already fairly complete and somewhat useful, as the mkstemp test intends to show. For dirent/readdir tests, it would make sense to add further interfaces to help with response construction. Thanks, Florian Florian Weimer (2): Linux: Add FUSE-based file system test framework to support/ Linux: FUSE-based tests for mkstemp support/Makefile | 1 + support/fuse.h | 169 +++++ support/support_fuse.c | 21 + sysdeps/unix/sysv/linux/Makefile | 12 + sysdeps/unix/sysv/linux/support_fuse.c | 589 ++++++++++++++++++ .../sysv/linux/tst-mkstemp-fuse-parallel.c | 211 +++++++ sysdeps/unix/sysv/linux/tst-mkstemp-fuse.c | 198 ++++++ sysdeps/unix/sysv/linux/tst-support_fuse.c | 291 +++++++++ 8 files changed, 1492 insertions(+) create mode 100644 support/fuse.h create mode 100644 support/support_fuse.c create mode 100644 sysdeps/unix/sysv/linux/support_fuse.c create mode 100644 sysdeps/unix/sysv/linux/tst-mkstemp-fuse-parallel.c create mode 100644 sysdeps/unix/sysv/linux/tst-mkstemp-fuse.c create mode 100644 sysdeps/unix/sysv/linux/tst-support_fuse.c base-commit: 498ba34ee2472c28cca7b32d132824dbf62651d8