From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793962165; b=vwhjLosnEtFmdO1E4n5MgqtcRFhIknEWlt5lt87GxWnhNntCPFaIevi8FMW6gE/GAv6U JgtzL7vwuZZ77evdFENofVRTxIYx0Rz/SYWzsMxlF/dk2gfhGHaGvdxZcEqSZ4XP86DS8 Oh2nilkWRgX60DHgMb4b8WBW9LCcHK7LV7R+KqwfMBUk6Q3lqeSBtxYuXaUDsOlgAri02 IJ40ftu/KAQAJmxXFrZsjvozHjQFsBx1DLXcqjqT/3pJa0MElPPpbHSlfNDv9sfudgZxr n1O5+wvoGRaGZ/k4jpxHzQSyfIYlAw73vvp+brt3TBAxUdJ72WQPI01RN9+8C0O64tQ== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793962165; h=DMARC-Filter:DKIM-Signature:Received:X-MC-Unique: X-Mimecast-MFC-AGG-ID:Received:Received:Message-ID:Date:MIME-Version: User-Agent:Subject:To:Cc:References:Content-Language:From:In-Reply-To: Content-Type:Content-Transfer-Encoding:X-Scanned-By; bh=OMScx+ZfRFBqsHaUAOcjEp0K/Uj5h/TPVm71DTFyVWk=; b=Rwqh+TqBaUdhSp9cU84KCHAoiLh96kPc+QVPLreda/w/jfv+GqHN0i05g7OiEzWkU/oA PbfZBM7AgTqZ5KkJ4xEi2FEV0zrFCLyWny2FdUyyr44vlm6Lhf8s9hM9ziEHUKx+nBCHb SmIP13gAZ5W7boMl1hj9rbNKnCxF/f/QaairwXRB4G+oE/4eB4I2eV70xAwDurH7mxwpf IHWDFY95lzmns6HnmeBjZKPMS4j/NIhVpmKCg8IN4ioB74Se8SfyYdvLL8c8EyIWWQWMN PiSxlHp2NP4DZCj2Jsy7cPbVDMgmxlY5Uwf1GpAN0v06VJ+1t5teTxmgx9FP9c379Jw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=I6AUgS8b; arc=none smtp.remote-ip=170.10.129.124 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0D6D606A32C for ; Fri, 6 Nov 2026 10:49:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org F0D6D606A32C Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=I6AUgS8b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1793962161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMScx+ZfRFBqsHaUAOcjEp0K/Uj5h/TPVm71DTFyVWk=; b=I6AUgS8b66BcHjNIzNPyZrdorgNNemfm7zjRLeOF1T0wM23JqEfCVWRigj6OeUp0al1tEL JmNqa845q5M/81RTbci3LhWDCjkwDItjpCWVkpneQKfm73pYCy4bbu+ZqeoOTD/BpIAmUE 7oKc73kkpTiS/iIhssTWlPUeKV8jCc4= Received: from mx-prod-mc-01.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-121-j9MkFA5OOkeln0rWh6CpDw-1; Fri, 06 Nov 2026 05:49:13 -0500 X-MC-Unique: j9MkFA5OOkeln0rWh6CpDw-1 X-Mimecast-MFC-AGG-ID: j9MkFA5OOkeln0rWh6CpDw_1793962141 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E5E351955F0C; Fri, 6 Nov 2026 10:49:00 +0000 (UTC) Received: from [100.91.101.41] (headnet04.pony-001.prod.iad2.dc.redhat.com [10.2.32.116]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8C73D1956047; Fri, 6 Nov 2026 10:48:56 +0000 (UTC) Message-ID: <239ed02f-466e-4a7e-869f-e9684623c5bf@redhat.com> Date: Fri, 6 Nov 2026 11:48:55 +0100 X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v2 04/14] selftests: dpll: add pin enumeration and property tests To: Petr Oros , netdev@vger.kernel.org Cc: Jonathan Corbet , Shuah Khan , Shuah Khan , Randy Dunlap , Jani Nikula , Vadim Fedorenko , Arkadiusz Kubalewski , Jiri Pirko , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org References: <20261105151852.1844305-1-poros@redhat.com> <20261105151852.1844305-5-poros@redhat.com> Content-Language: en-US From: Ivan Vecera In-Reply-To: <20261105151852.1844305-5-poros@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 On 11/5/26 16:18, Petr Oros wrote: > Extend the library with pin queries. Pins of a device are collected > from the full pin dump with jq, since older iproute2 lacks the device > filter of "pin show", and the fields that live in the parent-device > nest are read through a helper that selects the nest of the device > under test. The helpers that work on the full dump normalize its shape > the same way the id-based ones do, so that a tool printing a flat > object instead of the dump wrapper works with all of them. Like the > device queries, every pin query runs the tool first and jq on what it > printed, so that a query which fails returns the status of the tool > instead of the empty output a missing attribute produces too. The > prerequisite check now also requires a tool that knows "pin show", so > that a tool too old for the pin queries is a skip up front rather than > a failed query in every test. The dpllsim helpers gain > dpllsim_add_pin, which creates a pin directory and writes its type, > frequency and direction, and the standard device grows a GNSS input, > an external input and an external output. > > dpll_basic.sh checks that the enumeration yields a numeric id for every > pin of the device, the ids are taken from the dump as they are and jq > prints null for a pin without one, that every pin has an id and a type > and carries the direction in the parent-device nest, and that an input > pin reports a valid state. The property test does not go on to query > pins by an id that is not one, and reports a pin it cannot query at all > as one failure rather than as one per attribute. The frequency is not > required, a pin without a frequency callback does not report one. The > device the script created has the standard pins, so an empty pin list > or a missing input pin on it means a failed query or broken tooling > rather than a pinless device. The library gains > dpll_log_test_skip_or_fail for such conditions, which fails on the > device the script created, recorded in DPLL_CREATED_DEVICE next to > DPLL_DEV_ID, and skips on a device the user provided. The stress script > creates its devices with a random set of pins of every type and both > directions, MUX pins always as inputs, and the deploy cycle test runs > with the standard pin set. > > Signed-off-by: Petr Oros Reviewed-by: Ivan Vecera