From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 69580481A9F; Wed, 29 Jul 2026 14:47:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785336468; cv=none; b=u4kedXNiSJXExQkAOQCrkE/TiI6pMaW7MJ9qFOIlQdEa9YJSktbZDTBcfhk8U8DzgmFEiC/3RtP262Dvpd3PuyQe5HhL69tB9n26/qNFzhS/zCFKumcTYNtJjgelbbDqZhxbAxnafhw99BHGHaFPqJvPHCNPJHwV1a79wdBfAhY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785336468; c=relaxed/simple; bh=EyGYe1pU3SXAfXTYD4+UZCYXK73KxuSHWUw08aCr/9A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=arsFI61aJl1ZdEvvTKEjY3n/2zgE6UlhJ2y8BwNd+e8qHTCsIIJ2L0P+QmhXIzzYjNqYpwHMQaSCmzIyI3x+e9Bk2zN+6UfAVDs3gRFiCuFEBCGgJz2/ASF4QHn1gAAH8imeEp2hpS/1VyuciQjZOh5EWcueBq5iCDtZJXmcxn8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XQ8w9a9u; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XQ8w9a9u" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A01921F00ACF; Wed, 29 Jul 2026 14:47:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785336464; bh=nGhv1+JUPjQ740yCFrpuYKel7DV1kBFhSIfzEnBWQIg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=XQ8w9a9uL9k5p+2Fz4RBhN39xb/SCWnRAsXRv5HVDEqNbWMdY2U4/45l7S8UJjpzO FNtUpFF8dJubZ/R05ntpUUYAfngVS5em3lqWgJCVvM3CtKPonNzIzN1IjJNM+U0zjd bfdDXHjVyRfvXX8CwgvEYKa1QTrqRwiBy5LEacXqzXqJAY19bH8vObH2ulJezqpbFD 6TcduBT5JG4tZrDHzE6TeEc0gIwZ0g5vNnZ4REgtBddG0diK6tugk48YopeRbZasvG /iKtL14okm5aowGEhqd+q9BtWVpxBWrEjueZLQskadZT+yQLLPjHpfb9zEjFSrs4x4 +1i3F4FqL289g== From: SJ Park To: Cc: SJ Park , Shuah Khan , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 5/6] selftests/damon/sysfs.py: extend commit assertion function for probes Date: Wed, 29 Jul 2026 07:47:36 -0700 Message-ID: <20260729144738.90895-6-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260729144738.90895-1-sj@kernel.org> References: <20260729144738.90895-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Extend DAMON sysfs testing commit assertion helper function to check probes too. Signed-off-by: SJ Park --- tools/testing/selftests/damon/sysfs.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tools/testing/selftests/damon/sysfs.py b/tools/testing/selftests/damon/sysfs.py index 88a26422ff44c..159cbeac067f8 100755 --- a/tools/testing/selftests/damon/sysfs.py +++ b/tools/testing/selftests/damon/sysfs.py @@ -178,6 +178,24 @@ def assert_monitoring_attrs_committed(attrs, dump): assert_true(dump['max_nr_regions'] == attrs.max_nr_regions, 'max_nr_regions', dump) +def assert_damon_filters_committed(filters, dump): + assert_true(len(dump) == len(filters.filters), 'probe filters', dump) + for idx, damon_filter in enumerate(filters.filters): + filter_dump = dump[idx] + assert_true(filter_dump['type'] == damon_filter.type_, 'type', + filter_dump) + assert_true(filter_dump['matching'] == damon_filter.matching, + 'matching', filter_dump) + assert_true(filter_dump['allow'] == damon_filter.allow, 'allow', + filter_dump) + +def assert_probes_committed(probes, dump): + assert_true(len(dump) == len(probes.probes), 'probes length', dump) + for idx, probe in enumerate(probes.probes): + probe_dump = dump[idx] + assert_true(probe.weight == probe_dump['weight'], 'weight', probe_dump) + assert_damon_filters_committed(probe.filters, probe_dump['filters']) + def assert_monitoring_target_committed(target, dump): # target.pid is the pid "number", while dump['pid'] is 'struct pid' # pointer, and hence cannot be compared. @@ -196,6 +214,7 @@ def assert_ctx_committed(ctx, dump): } assert_true(dump['ops']['id'] == ops_val[ctx.ops], 'ops_id', dump) assert_monitoring_attrs_committed(ctx.monitoring_attrs, dump['attrs']) + assert_probes_committed(ctx.monitoring_attrs.probes, dump['probes']) assert_monitoring_targets_committed(ctx.targets, dump['adaptive_targets']) assert_schemes_committed(ctx.schemes, dump['schemes']) assert_true(dump['pause'] == ctx.pause, 'pause', dump) -- 2.47.3