| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Signed-off-by: Denis Efremov <efremov@ispras.ru>
|
| |
|
|
| |
Signed-off-by: Denis Efremov <efremov@ispras.ru>
|
| |
|
|
| |
Signed-off-by: Denis Efremov <efremov@ispras.ru>
|
| |
|
|
|
|
|
|
| |
The current implementation runs into problems if we modify the same file
several times in the patch series since the sequential blob hashes will
not be found in the reproducer.
Fix it by moving the check for already processed files up.
|
| |
|
|
|
|
|
|
| |
Only consider the commits of the last year.
It should be okay because, if the corresponding files haven't changed
recently, any branch will pass and this mechanism is not actually
needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge commits are important in two contexts:
1) They may bring together blobs created in different commits.
2) They may create new blob hashes when file changes are merged.
3) They replace blob hashes we were looking for.
A particularly unpleasant case for the previous approach is when a blob
hash disappears after a merge and tips of the branches are no longer to
trust as the files of interest have also been replaced by the merges.
Add a test that sets up this complicated setup and change the logic to
make the test pass:
1) Add a -m flag to consider merge commits.
2) Increase -n as there are lots of merge commits in the Linux kernel.
3) Consider all parents of merge commits.
Fixes #6777.
|
| |
|
|
|
| |
The methods are used for formatted output, so rename them to follow Go conventions.
Additionally, fix TestTracer to use formatted output (t.Logf) instead of unformatted output (t.Log).
|
| |
|
|
|
| |
If the series author provided a base-commit, use it. If applying the series against the base-commit fails, fall back to
the default method.
|
| |
|
|
|
|
| |
Add a tool that executes git grep with the given expression.
It can handle long tail of cases that codesearcher can't handle,
while still providing less output than reading whole files.
|
| |
|
|
|
|
|
|
|
| |
The test fails with newer git versions with:
- (string) (len=6) "master"
+ (string) (len=4) "main"
Or perhaps it's some global distro settings.
|
| |
|
|
|
|
|
|
|
|
| |
Do not tolerate unknown blob hashes - it means that we are unable to
find the correct base commit given the repository.
Explicitly ignore newly added files - we definitely won't find their
hashes.
Explicitly skip malformed patches that won't have any blob hashes -
otherwise we could end up with too many candidates and waste too much
time.
|
| |
|
|
|
| |
Return the commits that represent unique sets of branches.
Sort the list topologically, breaking ties by commit date.
|
| |
|
|
|
|
| |
Given a git diff, determine the latest commit where the modified files
still have the exact sha hashes they had at the moment the git patch was
created.
|
| |
|
|
|
| |
Add a commitChangeset() method to simplify setting up repository states
in tests.
|
| |
|
|
| |
Return not just the modified files, but also their blob hashes.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This should fix our broken bisections.
Closes #6136.
|
| |
|
|
| |
./tools/syz-env bin/golangci-lint run ./... --fix
|
| |
|
|
|
|
| |
What we need is the category for "matched unknown KASAN bug".
This king on bugs should be recategorised.
The final goal is to keep this category empty.
|
| |
|
|
| |
We want to prioritize KASAN bugs differently.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no sense to react to `git checkout` or `git fetch` which failed
due to network problems by re-cloning the whole repository - that
operation will fail just as well.
Detect at least one kind of such problems and just return an error from
the Poll() method, without wiping everything out.
For now, don't add tests as we would need some real remote git server
implementation to properly test it. Using a folder as a "remote"
repository, like we do in other tests, won't ever trigger networking
errors.
Closes #6099.
|
| |
|
|
|
|
|
| |
This partially reverts commit 43f51a00700e5960fc890e6c3d596846757bf29d
to restore vcs.TreeLink and html.SetGlobSearchPath.
This broke internal code.
|
| |
|
|
|
|
|
|
|
|
| |
Rename the method to LatestCommit and make it more flexible:
1) Return the commit date alongside the commit hash.
2) Rename the time filter to highlight that it's non-inclusive.
3) Make it possible to query the commits newer than the specified commit
hash.
It will let us poll lore archives more efficiently.
|
| |
|
|
|
| |
Otherwise we need to backport too many fix commits to address build/boot
errors.
|
| |
|
|
|
|
|
|
| |
The bug is easily triggerable during fuzzing / running reproducers and
it was present in torvalds for ~1.5 months.
Backport it when building these revisions in order to not derail the
bisections.
|
| |
|
|
|
| |
Otherwise we will not be able to bisect 3 months of Linux kernel
history.
|
| |
|
|
|
|
|
| |
The commit should fix the bisections for the period of 2-3 months.
See e.g. this failed bisection:
https://syzkaller.appspot.com/x/bisect.txt?x=124a9200580000
|
| | |
|
| |
|
|
|
| |
go install golang.org/x/tools/cmd/deadcode@latest
deadcode -test ./...
|
| |
|
|
| |
They are shorter, more readable, and don't require temp vars.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The current common vcs interface and its implementations are designed to
support a very big number of situations (git modules, cleaning up
complex state, etc), which is too heavy and restrictive when we just
need a thin wrapper over the git command that supports a few basic
operations.
Refactor pkg/vcs to split out the wrapper code from the big git
implementation of the vcs.Repo interface.
Export the wrapper to enable reuse in other parts of the system.
|
| |
|
|
| |
Support filtering by the commit date.
|
| |
|
|
|
|
| |
Invoke `jiri update` twice (once from the fuchsia
bootstrap script, then as a standalone command) when
initializing a new fuchsia checkout.
|
| |
|
|
| |
It unblocks the bisection for the period of Jan 2021-Mar 2021.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a temporary workaround for managing a
fuchsia checkout:
- Mark the repo as "precious" so that checkout
operations don't delete GN args and other build
configuration state. In a follow-up, this will
be replaced by a fuchsia-specific `repair` method
using `fx clean`.
- Checkout operations apply only to fuchsia.git, which
has a chance of creating inconsistencies between
versions of fuchsia and its dependencies. The main
poll workflow (using `jiri`) is not affected by this
problem, but bisection workflows may fail. This will
be fixed in a follow-up by checking out branches and
commits from fuchsia's global integration repo.
|
| |
|
|
| |
Co-authored-by: eep@google.com
|
| |
|
|
| |
Provide a functionality to extract the files affected by a git patch.
|
| | |
|
| |
|
|
| |
Add Commit.Patch with patch body.
|
| |
|
|
|
|
|
| |
Currently we have HeadCommit function that returns info
about the HEAD commit. Change it to a more flexible Commit
function that can return info about any commit.
This will be used in future changes.
|
| |
|
|
|
|
|
| |
Some commits don't live long remotely.
It sometimes happens we need them later to:
1. Merge coverage.
2. Mention during communication.
|
| |
|
|
|
| |
Every commit checkout takes >3 seconds.
Let's optimize this operation to save on large merges.
|
| |
|
|
|
| |
Lint started warning about duplicate "gvisor" const in pkg/cover.
Add gvisor/starnix consts to sys/targets package to avoid duplication.
|
| |
|
|
|
| |
Fix checking of Logf, it has string in 0-th arg.
Add checking of t.Errorf/Fatalf.
|
| |
|
|
|
|
|
| |
Akaros support is unused, it was shutdown on syzbot for a while,
the akaros development seems to be frozen for years as well.
We have a bunch of hacks for Akaros since it supported
only super old gcc and haven't supported Go. Remove it.
|
| |
|
|
|
|
|
|
|
|
|
| |
There's unfortunately no consistency in how mail.ParseAddress reacts to
parentheses in display names.
Versions before 1.22 used to keep them, 1.22+ cut them out.
For syzbot operation the difference is not very significant, but it makes
our tests too version dependent. Let's just omit parentheses from the
test cases.
|
| |
|
|
|
|
|
| |
Bisection should not fail if the Kconfig or the baseline config have issues.
Broken kernel sources might lead to issues when parsing Kconfig, ignore this and
proceed with the original config. If the baseline config is not parseable,
proceed anyway as this is an optional parameter to begin with.
|