All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: Richard Palethorpe <rpalethorpe@suse.com>, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v3 5/7] docparse: Add type normalization
Date: Thu, 4 Nov 2021 21:46:36 +0100	[thread overview]
Message-ID: <YYRGrBaCefpAtz6x@pevik> (raw)
In-Reply-To: <20211103120233.20728-6-chrubis@suse.cz>

Hi Cyril,

> For now just for .test_variants.

> There are two reasons for this:

> - This code makes sure that we get right value parsed and aborts the
>   compilation if the parser got confused. This part is important since
>   if the testrunners are going to use the metadata the data in there
>   must be correct.
Very good idea.

> - And much less important it makes the resulting json nicer to read

...
> +static void convert_str2int(struct data_node *res, const char *id, const char *str_val)
> +{
> +	long val;
> +	char *endptr;
> +
> +	errno = 0;
> +	val = strtol(str_val, &endptr, 10);
> +
> +	if (errno || *endptr) {
> +		fprintf(stderr,	"Cannot convert %s value %s to int!", id, str_val);
=> missing \n.
> +		exit(1);
> +	}
> +
> +	if (verbose)
> +		fprintf(stderr, "NORMALIZING %s TO INT %li", id, val);
And here.
> +
> +	data_node_hash_del(res, id);
> +	data_node_hash_add(res, id, data_node_int(val));
> +}
> +
> +static void check_normalize_types(struct data_node *res)
> +{
> +	unsigned int i;
> +
> +	for (i = 0; tst_test_typemap[i].id; i++) {
> +		struct data_node *n;
> +		struct typemap *typemap = &tst_test_typemap[i];
> +
> +		n = data_node_hash_get(res, typemap->id);
> +		if (!n)
> +			continue;
> +
> +		if (n->type == typemap->type)
> +			continue;
> +
> +		if (n->type == DATA_STRING && typemap->type == DATA_INT) {
> +			convert_str2int(res, typemap->id, n->string.val);
> +			continue;
> +		}
> +
> +		fprintf(stderr, "Cannot convert %s from %s to %s!",
And here.
> +			typemap->id, data_type_name(n->type),
> +			data_type_name(typemap->type));
> +		exit(1);
> +	}
> +}

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2021-11-04 20:46 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-03 12:02 [LTP] [PATCH v3 0/7] docparse improvements Cyril Hrubis
2021-11-03 12:02 ` [LTP] [PATCH v3 1/7] docparse: Implement #define and #include Cyril Hrubis
2021-11-03 12:39   ` Petr Vorel
2021-11-03 12:02 ` [LTP] [PATCH v3 2/7] docparse: Add tests Cyril Hrubis
2021-11-04 16:06   ` Petr Vorel
2021-11-05 10:40     ` Cyril Hrubis
2021-11-03 12:02 ` [LTP] [PATCH v3 3/7] docparse: data_storage: Add integer type node Cyril Hrubis
2021-11-04 16:19   ` Petr Vorel
2021-11-03 12:02 ` [LTP] [PATCH v3 4/7] docparse: Implement ARRAY_SIZE() Cyril Hrubis
2021-11-04 20:23   ` Petr Vorel
2021-11-03 12:02 ` [LTP] [PATCH v3 5/7] docparse: Add type normalization Cyril Hrubis
2021-11-04 20:46   ` Petr Vorel [this message]
2021-11-03 12:02 ` [LTP] [PATCH v3 6/7] docparse: Group data to 'testsuite' and 'defaults' Cyril Hrubis
2021-11-04 20:47   ` Petr Vorel
2021-11-03 12:02 ` [LTP] [PATCH v3 7/7] docparse: Split into metadata and docparse Cyril Hrubis
2021-11-03 13:04   ` Petr Vorel
2021-11-03 13:06     ` Petr Vorel
2021-11-03 13:16     ` Cyril Hrubis
2021-11-03 13:18       ` Cyril Hrubis
2021-11-03 14:38         ` Petr Vorel
2021-11-03 15:11           ` Petr Vorel
2021-11-03 15:35             ` Cyril Hrubis
2021-11-04 13:10               ` Cyril Hrubis
2021-11-04 19:40                 ` Petr Vorel
2021-11-05 10:19                   ` Cyril Hrubis
2021-11-05 11:09                     ` Petr Vorel
2021-11-03 15:30           ` Cyril Hrubis
2021-11-04 20:48 ` [LTP] [PATCH v3 0/7] docparse improvements Petr Vorel
2021-11-05 10:43   ` Cyril Hrubis

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=YYRGrBaCefpAtz6x@pevik \
    --to=pvorel@suse.cz \
    --cc=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=rpalethorpe@suse.com \
    /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.