All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karthik B S <karthik.b.s@intel.com>
To: Bhanuprakash Modem <bhanuprakash.modem@intel.com>,
	<igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [V5 i-g-t 51/81] tests/kms_getfb: Document each subtest for testplan
Date: Wed, 9 Aug 2023 13:51:32 +0530	[thread overview]
Message-ID: <9e80874b-2bb3-2647-e2fc-e9b044df1ac3@intel.com> (raw)
In-Reply-To: <20230629144910.3055377-52-bhanuprakash.modem@intel.com>

Hi,

On 6/29/2023 8:18 PM, Bhanuprakash Modem wrote:
> Add documentation for all kms tests which is used by IGT testplan
> documentation.
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_getfb.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 90 insertions(+)
>
> diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
> index afcf07fe8..b35cd4152 100644
> --- a/tests/kms_getfb.c
> +++ b/tests/kms_getfb.c
> @@ -27,6 +27,11 @@
>    *
>    */
>   
> +/**
> + * TEST: kms getfb
> + * Category: Display
> + * Description: Tests GETFB and GETFB2 ioctls.
> + */
>   #include "igt.h"
>   #include <unistd.h>
>   #include <stdlib.h>
> @@ -169,6 +174,22 @@ static uint32_t get_any_prop_id(int fd)
>   	return 0;
>   }
>   
> +/**
> + * SUBTEST: getfb-handle-%s
> + * Description: Tests error handling %arg[1]
> + * Driver requirement: any
> + * Functionality: kms_core
Should this also be 'kms_gem_interop', like in other fb related tests?
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @closed:       when passing a handle that has been closed.
> + * @not-fb:       when passing an invalid handle.
> + * @valid:        when passing an valid handle.
> + * @zero:         for a zero'd input.
> + */
>   static void test_handle_input(int fd)
>   {
>   	struct drm_mode_fb_cmd2 add = {};
> @@ -224,6 +245,30 @@ static void test_handle_input(int fd)
>   		gem_close(fd, add.handles[0]);
>   }
>   
> +/**
> + * SUBTEST: getfb-reject-ccs
> + * Description: Tests error handling while requesting CCS buffers it should
> + *              refuse because getfb supports returning a single buffer handle.
> + * Driver requirement: any
> + * Functionality: kms_core
Please add 'ccs' also here.
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: getfb-%s-different-handles
> + * Description: Tests error handling while requesting for two different handles
> + *              from %arg[1].
> + * Driver requirement: any
> + * Functionality: kms_core
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @addfb:           same fd
> + * @repeated:        different fd
> + */
>   static void test_duplicate_handles(int fd)
>   {
>   	struct drm_mode_fb_cmd2 add = {};
> @@ -289,6 +334,37 @@ static void test_duplicate_handles(int fd)
>   	}
>   }
>   
> +/**
> + * SUBTEST: getfb2-accept-ccs
> + * Description: Tests outputs are correct when retrieving a CCS framebuffer.
> + * Driver requirement: any
> + * Functionality: kms_core

Please add 'ccs' also here.

Thanks,
Karthik.B.S
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: getfb2-into-addfb2
> + * Description: Output check by passing the output of GETFB2 into ADDFB2.
> + * Driver requirement: any
> + * Functionality: kms_core
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: getfb2-handle-%s
> + * Description: Tests error handling %arg[1].
> + * Driver requirement: any
> + * Functionality: kms_core
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @closed:                  when passing a handle that has been closed
> + * @not-fb:                  when passing an invalid handle
> + * @zero:                    for a zero'd input
> + */
>   static void test_getfb2(int fd)
>   {
>   	struct drm_mode_fb_cmd2 add_basic = {};
> @@ -397,6 +473,20 @@ static void test_getfb2(int fd)
>   	}
>   }
>   
> +/**
> + * SUBTEST: %s-handle-protection
> + * Description: Make sure %arg[1] return handles if caller is non-root or non-master.
> + * Driver requirement: any
> + * Functionality: kms_core
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @getfb:      GETFB ioctl
> + * @getfb2:     GETFB2 ioctl
> + */
>   static void test_handle_protection(void) {
>   	int non_master_fd;
>   	struct drm_mode_fb_cmd2 non_master_add = {};

  reply	other threads:[~2023-08-09  8:21 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-29 14:47 [igt-dev] [V5 i-g-t 00/81] Document KMS tests Bhanuprakash Modem
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 01/81] testplan/kms: Keep category as high level entity Bhanuprakash Modem
2023-08-10 17:51   ` Kamil Konieczny
2023-08-14  9:57     ` Mauro Carvalho Chehab
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 02/81] testplan/kms: Add support to differentiate b/w drivers Bhanuprakash Modem
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 03/81] testplan/kms: Include testdisplay to kms testplan config Bhanuprakash Modem
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 04/81] testplan/kms: Exclude kms helpers form testplan Bhanuprakash Modem
2023-08-10 17:49   ` Kamil Konieczny
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 05/81] tests/chamelium/kms_chamelium_audio: Document each subtest for testplan Bhanuprakash Modem
2023-08-10  4:57   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-08-10 16:29     ` Modem, Bhanuprakash
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 06/81] tests/chamelium/kms_chamelium_color: " Bhanuprakash Modem
2023-08-10  5:12   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 07/81] tests/chamelium/kms_chamelium_edid: " Bhanuprakash Modem
2023-08-10  6:08   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-08-10 16:34     ` Modem, Bhanuprakash
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 08/81] tests/chamelium/kms_chamelium_frames: " Bhanuprakash Modem
2023-08-10  6:02   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-08-10 16:47     ` Modem, Bhanuprakash
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 09/81] tests/chamelium/kms_chamelium_hpd: " Bhanuprakash Modem
2023-08-10  6:10   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-08-10 17:05     ` Modem, Bhanuprakash
2023-06-29 14:47 ` [igt-dev] [V5 i-g-t 10/81] tests/i915/kms_big_fb: " Bhanuprakash Modem
2023-08-11  4:19   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 11/81] tests/i915/kms_big_joiner: " Bhanuprakash Modem
2023-08-09  3:27   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 12/81] tests/i915/kms_busy: " Bhanuprakash Modem
2023-08-10  6:20   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 13/81] tests/i915/kms_ccs: " Bhanuprakash Modem
2023-08-09  4:11   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 14/81] tests/i915/kms_cdclk: " Bhanuprakash Modem
2023-08-09  8:15   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 15/81] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2023-08-10  5:40   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 16/81] tests/i915/kms_dsc: " Bhanuprakash Modem
2023-08-09  7:50   ` Sharma, Swati2
2023-08-10 17:23     ` Modem, Bhanuprakash
2023-08-14  5:04       ` Sharma, Swati2
2023-08-14  9:39         ` Mauro Carvalho Chehab
2023-08-14 10:06           ` Sharma, Swati2
2023-08-14 17:18         ` Modem, Bhanuprakash
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 17/81] tests/i915/kms_fb_coherency: " Bhanuprakash Modem
2023-08-09  8:35   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 18/81] tests/i915/kms_fbcon_fbt: " Bhanuprakash Modem
2023-08-09 20:16   ` [igt-dev] [V5, i-g-t, " Gupta, Nidhi1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 19/81] tests/i915/kms_fence_pin_leak: " Bhanuprakash Modem
2023-08-09  9:20   ` Karthik B S
2023-08-10 17:42     ` Modem, Bhanuprakash
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 20/81] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2023-08-09  6:57   ` Sharma, Swati2
2023-08-09  6:59   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 21/81] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2023-08-09  5:38   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 22/81] tests/i915/kms_frontbuffer_tracking: " Bhanuprakash Modem
2023-08-10  6:25   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 23/81] tests/i915/kms_legacy_colorkey: " Bhanuprakash Modem
2023-08-09 11:52   ` Sharma, Swati2
2023-08-10 18:05     ` Modem, Bhanuprakash
2023-08-14  5:09       ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 24/81] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2023-08-09 11:58   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 25/81] tests/i915/kms_pipe_b_c_ivb: " Bhanuprakash Modem
2023-08-11  7:57   ` Thasleem, Mohammed
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 26/81] tests/i915/kms_psr: " Bhanuprakash Modem
2023-08-10  6:28   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 27/81] tests/i915/kms_psr2_sf: " Bhanuprakash Modem
2023-08-10  6:44   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 28/81] tests/i915/kms_psr2_su: " Bhanuprakash Modem
2023-08-10  6:42   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 29/81] tests/i915/kms_psr_stress_test: " Bhanuprakash Modem
2023-08-10  6:36   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 30/81] tests/i915/kms_pwrite_crc: " Bhanuprakash Modem
2023-08-09  9:26   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 31/81] tests/kms_3d: " Bhanuprakash Modem
2023-08-09  4:54   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 32/81] tests/kms_addfb_basic: " Bhanuprakash Modem
2023-08-09  9:10   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 33/81] tests/kms_async_flips: " Bhanuprakash Modem
2023-08-08 15:00   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 34/81] tests/kms_atomic: " Bhanuprakash Modem
2023-08-09 19:13   ` [igt-dev] [V5, i-g-t, " Gupta, Nidhi1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 35/81] tests/kms_atomic_interruptible: " Bhanuprakash Modem
2023-08-09 19:55   ` [igt-dev] [V5, i-g-t, " Gupta, Nidhi1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 36/81] tests/kms_atomic_transition: " Bhanuprakash Modem
2023-08-09 20:08   ` [igt-dev] [V5, i-g-t, " Gupta, Nidhi1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 37/81] tests/kms_bw: " Bhanuprakash Modem
2023-08-09  5:06   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 38/81] tests/kms_color: " Bhanuprakash Modem
2023-08-09  9:03   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 39/81] tests/kms_concurrent: " Bhanuprakash Modem
2023-08-09 12:05   ` Sharma, Swati2
2023-08-14  7:59     ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 40/81] tests/kms_content_protection: " Bhanuprakash Modem
2023-08-09  3:50   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 41/81] tests/kms_cursor_crc: " Bhanuprakash Modem
2023-08-09  5:31   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 42/81] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2023-08-09  5:36   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 43/81] tests/kms_cursor_legacy: " Bhanuprakash Modem
2023-08-10 17:28   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 44/81] tests/kms_display_modes: " Bhanuprakash Modem
2023-08-09  5:27   ` B, Jeevan
2023-08-14  8:17     ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 45/81] tests/kms_dither: " Bhanuprakash Modem
2023-08-09 11:43   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 46/81] tests/kms_dp_aux_dev: " Bhanuprakash Modem
2023-08-10  6:17   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 47/81] tests/kms_dp_tiled_display: " Bhanuprakash Modem
2023-08-08 10:08   ` Karthik B S
2023-08-09  3:17   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 48/81] tests/kms_flip: " Bhanuprakash Modem
2023-08-09  4:06   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 49/81] tests/kms_flip_event_leak: " Bhanuprakash Modem
2023-08-09  3:23   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 50/81] tests/kms_force_connector_basic: " Bhanuprakash Modem
2023-08-10  6:47   ` [igt-dev] [V5, i-g-t, " Joshi, Kunal1
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 51/81] tests/kms_getfb: " Bhanuprakash Modem
2023-08-09  8:21   ` Karthik B S [this message]
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 52/81] tests/kms_hdmi_inject: " Bhanuprakash Modem
2023-08-09  5:18   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 53/81] tests/kms_hdr: " Bhanuprakash Modem
2023-08-09  5:33   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 54/81] tests/kms_invalid_mode: " Bhanuprakash Modem
2023-08-09  5:46   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 55/81] tests/kms_lease: " Bhanuprakash Modem
2023-08-10  3:59   ` Thasleem, Mohammed
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 56/81] tests/kms_multipipe_modeset: " Bhanuprakash Modem
2023-08-08 10:01   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 57/81] tests/kms_panel_fitting: " Bhanuprakash Modem
2023-08-09  7:56   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 58/81] tests/kms_pipe_crc_basic: " Bhanuprakash Modem
2023-08-10  5:09   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 59/81] tests/kms_plane: " Bhanuprakash Modem
2023-08-10 17:35   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 60/81] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 61/81] tests/kms_plane_cursor: " Bhanuprakash Modem
2023-08-10 17:44   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 62/81] tests/kms_plane_lowres: " Bhanuprakash Modem
2023-08-09  5:41   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 63/81] tests/kms_plane_multiple: " Bhanuprakash Modem
2023-08-10  9:33   ` B, Jeevan
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 64/81] tests/kms_plane_scaling: " Bhanuprakash Modem
2023-08-09  6:48   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 65/81] tests/kms_prime: " Bhanuprakash Modem
2023-08-09  3:12   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 66/81] tests/kms_prop_blob: " Bhanuprakash Modem
2023-08-09 12:13   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 67/81] tests/kms_properties: " Bhanuprakash Modem
2023-08-09 12:17   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 68/81] tests/kms_rmfb: " Bhanuprakash Modem
2023-08-09  8:18   ` Karthik B S
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 69/81] tests/kms_rotation_crc: " Bhanuprakash Modem
2023-08-09  8:56   ` Sharma, Swati2
2023-06-29 14:48 ` [igt-dev] [V5 i-g-t 70/81] tests/kms_scaling_modes: " Bhanuprakash Modem
2023-08-09  7:59   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 71/81] tests/kms_selftest: " Bhanuprakash Modem
2023-08-09  8:28   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 72/81] tests/kms_sequence: " Bhanuprakash Modem
2023-08-09 20:12   ` [igt-dev] [V5, i-g-t, " Gupta, Nidhi1
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 73/81] tests/kms_setmode: " Bhanuprakash Modem
2023-08-09  3:40   ` Karthik B S
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 74/81] tests/kms_sysfs_edid_timing: " Bhanuprakash Modem
2023-08-09  8:22   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 75/81] tests/kms_tv_load_detect: " Bhanuprakash Modem
2023-08-09  8:50   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 76/81] tests/kms_universal_plane: " Bhanuprakash Modem
2023-08-10 11:08   ` B, Jeevan
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 77/81] tests/kms_vblank: " Bhanuprakash Modem
2023-08-09  8:25   ` Karthik B S
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 78/81] tests/kms_vrr: " Bhanuprakash Modem
2023-08-09  8:37   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 79/81] tests/kms_writeback: " Bhanuprakash Modem
2023-08-09  8:12   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 80/81] tests/testdisplay: " Bhanuprakash Modem
2023-08-09  8:31   ` Sharma, Swati2
2023-06-29 14:49 ` [igt-dev] [V5 i-g-t 81/81] testplan/kms: Make documentation is mandatory for all kms subtests Bhanuprakash Modem
2023-06-29 15:35 ` [igt-dev] ✓ Fi.CI.BAT: success for Document KMS tests (rev12) Patchwork
2023-06-30  2:23 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-08-10  4:11 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Document KMS tests (rev13) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9e80874b-2bb3-2647-e2fc-e9b044df1ac3@intel.com \
    --to=karthik.b.s@intel.com \
    --cc=bhanuprakash.modem@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.