All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
To: "longtao.pang" <longtaox.pang@intel.com>
Cc: robert.hu@intel.com, wei.liu2@citrix.com,
	Ian.Campbell@citrix.com, xen-devel@lists.xen.org
Subject: Re: [OSSTEST Nested PATCH v11 2/7] Parsing grub which has 'submenu' primitive
Date: Wed, 10 Jun 2015 14:30:43 +0100	[thread overview]
Message-ID: <21880.15363.757545.925172@mariner.uk.xensource.com> (raw)
In-Reply-To: <1432631304-27347-3-git-send-email-longtaox.pang@intel.com>

longtao.pang writes ("[OSSTEST Nested PATCH v11 2/7] Parsing grub which has 'submenu' primitive"):
> Now auto-gen kernel grub2 config file's boot menu entries can have
> 2-level hierarchy, containing 'submenu' primitive, which is comprised by
> several sub-menuentries. Xen boot entries are grouped into such kind of
> 'submenu' block. This patch adds setupboot_grub2() ability to handle
> such new grub.cfg format

Parsing submenus is good, but I have some style quibbles with your
patch I'm afraid.

>          while (<$f>) {
>              next if m/^\s*\#/ || !m/\S/;
>              if (m/^\s*\}\s*$/) {
> -                die unless $entry;
> +                die unless $entry || $submenu;
> +                if(!defined $entry && defined $submenu){

$entry and $submenu are either some ref, or undef, so you don't need
`defined'.  You can just use them as if they were booleans in the if,
just as you did above.  (I'm not sure that `!defined $entry' adds much
given the previous line, but that's maybe a matter or taste.)

Missing spaces after if and inside `){'.

> +                    logm("Met end of a submenu starting from ".
> +                        "$submenu->{StartLine}. ".
> +                        "Our want kern is $want_kernver");
> +                    $submenu=undef;

Missing space after or around `='.  (Other places too.)

> +                    pop @offsets;
> +                    $offsets[$#offsets]++;
> +                    next;
> +                }
>                  my (@missing) =
>                      grep { !defined $entry->{$_} } 
>  		        (defined $xenhopt
> @@ -438,8 +448,12 @@ sub setupboot_grub2 ($$$$) {
>              }
>              if (m/^menuentry\s+[\'\"](.*)[\'\"].*\{\s*$/) {
>                  die $entry->{StartLine} if $entry;
> -                $entry= { Title => $1, StartLine => $., Number => $count };
> -                $count++;
> +                $entry= { Title => $1, StartLine => $., MenuEntryPath => join ">", @offsets };

Needs rewrapping.  Probably best to expand the { } into a multi-line
structure.

> +                $offsets[$#offsets]++;
> +            }
> +            if (m/^submenu\s+[\'\"](.*)[\'\"].*\{\s*$/) {
> +                $submenu={ StartLine =>$., MenuEntryPath => join ">", @offsets };

Unless I'm mistaken, the MenuEntryPath of a $submenu is never used ?
Not setting it would avoid (a) a need to rewrap and (b) me complaining
that you have open-coded the join twice.

Thanks,
Ian.

  reply	other threads:[~2015-06-10 13:30 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-26  9:08 [OSSTEST Nested PATCH v11 0/7] Introduction of netsted HVM test job longtao.pang
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 1/7] grub: remove patch to disable submenu from 20_linux_xen overlay longtao.pang
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 2/7] Parsing grub which has 'submenu' primitive longtao.pang
2015-06-10 13:30   ` Ian Jackson [this message]
2015-06-11  3:17     ` Robert Hu
2015-06-11  8:37       ` Ian Campbell
2015-06-11  9:01         ` Robert Hu
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 3/7] Changes to support '/boot' leading paths of kernel, xen, in grub longtao.pang
2015-06-10 13:31   ` Ian Jackson
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 4/7] Changes on test step of Debian hvm guest install longtao.pang
2015-06-08 10:31   ` Ian Campbell
2015-06-09  5:29     ` Pang, LongtaoX
2015-06-09  8:07       ` Ian Campbell
2015-06-09  9:10         ` Pang, LongtaoX
2015-06-10 13:41   ` Ian Jackson
2015-06-11  6:15     ` Pang, LongtaoX
2015-06-11 15:08       ` Ian Jackson
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 5/7] Add new script to customize nested test configuration longtao.pang
2015-06-10 13:58   ` Ian Jackson
2015-06-11  6:19     ` Pang, LongtaoX
2015-06-11 15:14       ` Ian Jackson
2015-06-12  3:46         ` Pang, LongtaoX
2015-06-12  8:42           ` Ian Campbell
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 6/7] Compose the main recipe of nested test job longtao.pang
2015-06-10 15:42   ` Ian Jackson
2015-06-11  7:41     ` Pang, LongtaoX
2015-06-11  8:40       ` Ian Campbell
2015-06-11  9:52         ` Pang, LongtaoX
2015-06-11 10:37           ` Ian Campbell
2015-06-11 15:19       ` Ian Jackson
2015-06-12  3:42         ` Robert Hu
2015-06-12  8:44           ` Ian Campbell
2015-06-12  9:00             ` Robert Hu
2015-06-12  9:15               ` Ian Campbell
2015-06-12  3:58         ` Pang, LongtaoX
2015-06-12 15:27           ` Ian Jackson
2015-06-12 15:28             ` Ian Jackson
2015-06-14 12:52               ` Robert Hu
2015-06-14 12:51             ` Robert Hu
2015-06-15  9:08               ` Ian Campbell
2015-06-17  8:54                 ` Pang, LongtaoX
2015-06-17  9:35                   ` Ian Campbell
2015-06-17 11:00                     ` Pang, LongtaoX
2015-06-17 11:48                       ` Ian Campbell
2015-06-18  9:16                         ` Pang, LongtaoX
2015-06-18  9:22                           ` Ian Campbell
2015-06-18  9:26                             ` Pang, LongtaoX
2015-06-17 11:31                     ` Ian Jackson
2015-06-25  8:21                     ` Pang, LongtaoX
2015-06-25  9:33                       ` Ian Campbell
2015-06-25 10:21                       ` Ian Jackson
2015-08-18  6:46                         ` Hu, Robert
2015-09-01 13:51                           ` Ian Campbell
2015-09-01 14:41                             ` Ian Jackson
2015-09-01 14:58                               ` Ian Campbell
2015-09-11  1:39                               ` Hu, Robert
2015-09-11 14:03                                 ` Ian Jackson
2015-09-11  1:39                             ` Hu, Robert
2015-06-17  9:08                 ` Pang, LongtaoX
2015-06-19  3:03             ` Pang, LongtaoX
2015-06-19 12:16               ` Ian Jackson
2015-06-19 12:17                 ` Ian Jackson
2015-06-30 16:36                   ` [OSSTEST RFC PATCH 0/4] Nested job execution infrastructure Ian Jackson
2015-06-30 16:36                     ` [OSSTEST PATCH 1/4] Tcl: Provide lunappend Ian Jackson
2015-06-30 16:36                     ` [OSSTEST PATCH 2/4] sg-run-job: Declare Tcl (for the benefit of Emacs) Ian Jackson
2015-06-30 16:36                     ` [OSSTEST PATCH 3/4] sg-run-job: Break out per-host-prep and per-host-finish Ian Jackson
2015-07-28  5:39                       ` Robert Hu
2015-07-28 15:15                         ` Ian Jackson
2015-07-29  8:13                           ` Robert Hu
2015-06-30 16:36                     ` [OSSTEST PATCH 4/4] sg-run-job: Provide infrastructure for layers of nesting Ian Jackson
2015-07-28  6:47                       ` Robert Hu
2015-07-28 15:13                         ` Ian Jackson
2015-06-30 16:56                     ` [OSSTEST RFC PATCH 0/4] Nested job execution infrastructure Ian Jackson
2015-07-01  1:56                     ` Robert Hu
2015-07-02 17:14                       ` Ian Jackson
2015-07-28  5:36                     ` Robert Hu
2015-05-26  9:08 ` [OSSTEST Nested PATCH v11 7/7] Add test job for nest test case longtao.pang
2015-06-10 15:46   ` Ian Jackson
2015-06-11  6:28     ` Pang, LongtaoX
2015-06-11 15:16       ` Ian Jackson
2015-05-26 11:34 ` [OSSTEST Nested PATCH v11 0/7] Introduction of netsted HVM test job Ian Campbell

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=21880.15363.757545.925172@mariner.uk.xensource.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=longtaox.pang@intel.com \
    --cc=robert.hu@intel.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.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.