View | Details | Raw Unified | Return to bug 36027
Collapse All | Expand All

(-)a/misc/maintenance/search_for_data_inconsistencies.pl (-7 / +31 lines)
Lines 84-89 pod2usage(1) if $options{'help'}; Link Here
84
# Set skip options based on check options
84
# Set skip options based on check options
85
set_skip_options();
85
set_skip_options();
86
86
87
# Set check options based on skip options
88
set_check_options();
89
87
# Set all check options to 1 if none are provided, unless specified skip options
90
# Set all check options to 1 if none are provided, unless specified skip options
88
set_all_check_options_if_none_provided();
91
set_all_check_options_if_none_provided();
89
92
Lines 127-136 sub set_skip_options { Link Here
127
    return %options;
130
    return %options;
128
}
131
}
129
132
130
# Set all check options to 1 if none are provided, considering skip options
133
# Set check options based on skip options
134
sub set_check_options {
135
136
    my @has_skip_option = grep { $options{$_} } grep { /^skip-/ } keys %options;
137
138
    #warn $has_skip_option;exit;
139
    if (@has_skip_option) {
140
141
        # enable all check-* options
142
        $options{$_} = 1 for grep { /^check-/ } keys %options;
143
144
        # disable the corresponding check-* for each active skip-* option
145
        foreach my $key (@has_skip_option) {
146
            my $check_key = $key;
147
            $check_key =~ s/^skip-/check-/;
148
            $options{$check_key} = 0 if exists $options{$check_key};
149
        }
150
    }
151
    return %options;
152
}
153
154
# Set all check options to 1 if check-all are provided, considering skip options
131
sub set_all_check_options_if_none_provided {
155
sub set_all_check_options_if_none_provided {
132
    my $check_all_option_provided = grep { $options{$_} && $_ eq "check-all" } grep { /^check-/ } keys %options;
156
    if ( $options{'check-all'} ) {
133
    if ($check_all_option_provided) {
134
        foreach my $key ( keys %options ) {
157
        foreach my $key ( keys %options ) {
135
            if ( $key =~ /^check-/ ) {
158
            if ( $key =~ /^check-/ ) {
136
                my $skip_key = $key;
159
                my $skip_key = $key;
Lines 140-148 sub set_all_check_options_if_none_provided { Link Here
140
                $options{$key} = 1 unless $options{$skip_key};
163
                $options{$key} = 1 unless $options{$skip_key};
141
            }
164
            }
142
        }
165
        }
143
    } elsif ( 0 == grep { $options{$_} && $_ ne "check-all" } grep { /^check-/ } keys %options ) {
166
    } else {
144
        handle_invalid_options("No options selected");
167
        unless ( grep { $options{$_} && /^(check-|skip-)/ } keys %options ) {
145
        die;
168
            handle_invalid_options("No options selected");
169
            die;
170
        }
146
    }
171
    }
147
}
172
}
148
173
149
- 

Return to bug 36027