-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTodo
69 lines (45 loc) · 2.5 KB
/
Todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
TODO list for Perl module Devel::Git::MultiBisect
* Functionality
** Use 'excluded_targets' to avoid re-running particular test files once we've
completed that target.
Follow-up (2016-10-30): This exclusion probably is not relevant under AllCommits, since
our objective there is to be comprehensive rather than selective. Hence, we
probably don't need to change AllCommits::run_test_files_on_all_commits().
The exclusion would probably be better used in
Transitions::multisect_all_targets(). There, each invocation of
run_test_files_on_one_commit() needs to be told what targets should now be
excluded. This would have to be determined within multisect_all_targets().
This feature will be nice to have, but probably can wait until a later
release.
** Devel::Git::MultiBisect::Auxiliary::validate_list_sequence().
There is a conceptual flaw in this function with respect to the context in
which it is used. A list such as
( 'A', undef, ..., undef, 'A', undef, ..., undef, 'A' )
qualifies as a validated list -- but, strictly speaking, only if
that is the *final* state of that list. If we're inside the loop in
Transitions::_multisect_one_target(), we're evaluating the contents of the
list after each commit visitation. We are, in effect, *discovering* the
contents of the list. The only way we'd know it for sure is if we did
AllCommits. Hence, much of the time we can't distinguish a validated list
such as the above from an invalid list where 'A' starts to re-appear after
'B', 'C', etc. have appeared following the initial run of 'A's such as.
( 'A', undef, ..., 'B', undef, 'A', undef, ..., undef, 'A' )
* Testing and Test Coverage
** Inspect contents and naming of each t/*.t file for consistency.
** Need to cover non-verbose runs of prepare_multisect_hash().
** In run_test_files_on_one_commit(), need to cover a branch in:
$commit //= $self->{commits}->[0]->{sha};
** Devel::Git::MultiBisect::Auxiliary::validate_list_sequence().
if (defined $list->[$j]) { $lpd = $list->[$j]; }
** Capture verbose output and test that it matches expectations.
** Test CPAN distros that only use Module::Build.
** Devel::Git::MultiBisect::set_outside_targets(). See if this can actually
handle more than one target file. Can we mix and match inside and outside
targets?
* Documentation
** Update README(.md).
* Architecture
** Created option such that, during configure_command and make_command,
errors will be written to a per-commit error file rather than to STDERR. For
future release.
** Write scripts multibisect.