On Mar 9, 2012, at 4:13 PM, Harold Shaw wrote:

> Happy Friday,
> 
> Can I get a code review for the following bug:
> 
> CR: http://monaco.sfbay/detail.jsf?cr=7147174
> 
> There is an additional change that isn't noted in the webrev.  I moved line 
> 194 in target_selection.py left by one tab.  The function, 
> __pretty_print_disk, if called with a list of disks would only create a 
> string with the first disk in the list.  The return statement needed to be 
> moved out of the loop.
> 
> Webrev: https://cr.opensolaris.org/action/browse/caiman/hshaw/7147174/


target_selection.py:

        Over all what you are doing looks right. But I would alter a few things.

        class DiskMatches:
                should inherit from object
                I would make nr_matches a property that just returns 
len(self.matches)

        2988 can be removed if you make nr_matches a property.

        I believe 3020-3023 is covered later when no match is found at line 
3046. So you don't need it here.

        3038 why not change it to append matched_disk.ctd ?
                This would also simplifty lines 3034-3035 as you don't need the 
list comprehension.
                Just `if matched_disk.ctd not in matched_disk_list:` would be 
enough.


        3046: instead of checking here, you can take advantage of python's 
for/else:
                for candidate_disk in candidate_disk_list:
                        …
                else:
                        # you are guaranteed you didn't break out above so 
don't need to check
                        # if candidate_disk.mapped_disk is None

        3106 another extra check. you already raised a Selection error at 3048


test_target_selection_sparc.py:

        test_target_selection_props_1:

                OK so you are testing for the property FIXED.
                
                In order to make expected_xml a little more resilient (and 
since you don't care about size) I would replace the dev_size with a regex.
                That is line 1528:
                        dev_size="\d+secs"/>

                Similarly on 1531 I would change it to:
                        ......<size val="\d+" start_sector="\d+"/>

                If we were testing sizes I would leave them in, but this way if 
somebody changes c99t2d0 in DISCOVERED_TARGETS_XML you tests will still work.
                Also, mostly its ShadowLists job to test sizing things.

        test_target_selection_props_2_1:
                same, you are testing the dev_vendor not a size

        test_target_selection_props_2_2,
        test_target_selection_props_2_with_pools,
        test_target_selection_props_3_2,
        test_target_selection_props_3_3:
                you do specify a size for one of the disks, so you can leave 
its size in. but the other should also move to regex.


test_target_selection_x86.py:

        in general same comments as the sparc version. rip out as many sector 
sizes as you can.


cheers
-Dave


_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to