Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View

Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

Augie Fackler
fuzz: remove legacy setup for running fuzzers outside oss-fuzz

We don't need this anymore.

Differential Revision: https://phab.mercurial-scm.org/D7567
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers

There was a lot of repetition here that I realized could be cleared out. I
think there's some more work we could do here, but this is enough for now.

Differential Revision: https://phab.mercurial-scm.org/D7568
Augie Fackler
tests: finally fix up test-fuzz-targets.t

It's been failing on my workstation for a while, since I have a new enough
LLVM that I had the fuzzer goo, but not so new that I actually had
FuzzedDataProvider. This is a better solution all around in my opinion.

I _believe_ this should let us run these tests on most systems, even
those using GCC instead of clang. That said, my one attempt to test
this on my macOS laptop failed miserably, and I don't feel like doing
more work on this right now.

Differential Revision: https://phab.mercurial-scm.org/D7566
Pierre-Yves David
upgrade-repo: colorize some of the output

Having clear color for requirement added and removed is useful.
Augie Fackler
fuzz: use a variable to allow specifying python-config to use

Eventually we should probably default this to just `python-config` and have
the oss-fuzz build.sh script specify the sanpy python-config, but for now this
lets us make progress.

Differential Revision: https://phab.mercurial-scm.org/D7563
Augie Fackler
fuzz: suppress deprecated-register warnings in our compile

These come from the Python.h headers still using the `register`
keyword and our use of C++17. I think this will go away when we're
using Python 3 for our fuzzing, but that can come later.

Differential Revision: https://phab.mercurial-scm.org/D7562
Pierre-Yves David
upgraderepo: add a config option for parallel computation

The option is put to use to compute new copy tracing side data in parallel. It
use the multiprocessing module as it had the appropriate primitive for what we
needed. Gregory Szorc had concerned on windows so we disabled it there.

See inline comment for details on the parallel implementation.
Augie Fackler
fuzz: always define LLVMFuzzerInitialize() even if we don't need it

This will make it easier to test our fuzzers outside oss-fuzz.

Differential Revision: https://phab.mercurial-scm.org/D7560
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE

This will make our lives easier in an upcoming change, but it's also how we're
supposed to set things up anyway.

Differential Revision: https://phab.mercurial-scm.org/D7561
Augie Fackler
fuzz: remove debug prints from revlog_corpus.py

Differential Revision: https://phab.mercurial-scm.org/D7559
Augie Fackler
fuzz: use a more standard approach to allow local builds of fuzzers

This is taken from the (improved since we started fuzzing) guide on ideal
integrations. Rather than have our own wonky targets for building outside the
fuzzer universe, we have a driver program we carry along and use when we're
not using LibFuzzer. This will let us jettison a fair amount of goo.

contrib/fuzz/standalone_fuzz_target_runner.cc is
https://github.com/google/oss-fuzz/ file
projects/example/my-api-repo/standalone from git revision
c4579d9358a73ea5dbcc99cb985de1f2bf76dcf7, reformatted with out
clang-format settings and a no-check-code comment added. It allows
running a single test input through a fuzzer, rather than performing
ongoing fuzzing as libfuzzer would.

contrib/fuzz/FuzzedDataProvider.h is
https://github.com/llvm/llvm-project/ file
/compiler-rt/include/fuzzer/FuzzedDataProvider.h from git revision
a44ef027ebca1598892ea9b104d6189aeb3bc2f0, reformatted with our
clang-format settings and a no-check-code comment added. We can
discard this if we instead want to add an hghave check for a new
enough llvm that includes FuzzedDataProvder.h in the fuzzer headers.

Differential Revision: https://phab.mercurial-scm.org/D7564
Augie Fackler
fuzz: make standalone_fuzz_target_runner call LLVMFuzzerInitialize

Otherwise some of our fuzzers crash when they try and use Python.

Differential Revision: https://phab.mercurial-scm.org/D7565
Augie Fackler
fuzz: fix an unused result on getcwd() in pyutil

clang was rightly complaining about this, so let's just fix it.

Differential Revision: https://phab.mercurial-scm.org/D7558
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers

There was a lot of repetition here that I realized could be cleared out. I
think there's some more work we could do here, but this is enough for now.

Differential Revision: https://phab.mercurial-scm.org/D7568
Augie Fackler
fuzz: make standalone_fuzz_target_runner call LLVMFuzzerInitialize

Otherwise some of our fuzzers crash when they try and use Python.

Differential Revision: https://phab.mercurial-scm.org/D7565
Augie Fackler
fuzz: remove legacy setup for running fuzzers outside oss-fuzz

We don't need this anymore.

Differential Revision: https://phab.mercurial-scm.org/D7567
Augie Fackler
tests: finally fix up test-fuzz-targets.t

It's been failing on my workstation for a while, since I have a new enough
LLVM that I had the fuzzer goo, but not so new that I actually had
FuzzedDataProvider. This is a better solution all around in my opinion.

I _believe_ this should let us run these tests on most systems, even
those using GCC instead of clang. That said, my one attempt to test
this on my macOS laptop failed miserably, and I don't feel like doing
more work on this right now.

Differential Revision: https://phab.mercurial-scm.org/D7566
Augie Fackler
fuzz: use a more standard approach to allow local builds of fuzzers

This is taken from the (improved since we started fuzzing) guide on ideal
integrations. Rather than have our own wonky targets for building outside the
fuzzer universe, we have a driver program we carry along and use when we're
not using LibFuzzer. This will let us jettison a fair amount of goo.

contrib/fuzz/standalone_fuzz_target_runner.cc is
https://github.com/google/oss-fuzz/ file
projects/example/my-api-repo/standalone from git revision
c4579d9358a73ea5dbcc99cb985de1f2bf76dcf7, reformatted with out
clang-format settings and a no-check-code comment added. It allows
running a single test input through a fuzzer, rather than performing
ongoing fuzzing as libfuzzer would.

contrib/fuzz/FuzzedDataProvider.h is
https://github.com/llvm/llvm-project/ file
/compiler-rt/include/fuzzer/FuzzedDataProvider.h from git revision
a44ef027ebca1598892ea9b104d6189aeb3bc2f0, reformatted with our
clang-format settings and a no-check-code comment added. We can
discard this if we instead want to add an hghave check for a new
enough llvm that includes FuzzedDataProvder.h in the fuzzer headers.

Differential Revision: https://phab.mercurial-scm.org/D7564
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE

This will make our lives easier in an upcoming change, but it's also how we're
supposed to set things up anyway.

Differential Revision: https://phab.mercurial-scm.org/D7561
Augie Fackler
fuzz: remove debug prints from revlog_corpus.py

Differential Revision: https://phab.mercurial-scm.org/D7559
Augie Fackler
fuzz: use a variable to allow specifying python-config to use

Eventually we should probably default this to just `python-config` and have
the oss-fuzz build.sh script specify the sanpy python-config, but for now this
lets us make progress.

Differential Revision: https://phab.mercurial-scm.org/D7563
Augie Fackler
fuzz: fix an unused result on getcwd() in pyutil

clang was rightly complaining about this, so let's just fix it.

Differential Revision: https://phab.mercurial-scm.org/D7558
Augie Fackler
fuzz: always define LLVMFuzzerInitialize() even if we don't need it

This will make it easier to test our fuzzers outside oss-fuzz.

Differential Revision: https://phab.mercurial-scm.org/D7560
Augie Fackler
fuzz: suppress deprecated-register warnings in our compile

These come from the Python.h headers still using the `register`
keyword and our use of C++17. I think this will go away when we're
using Python 3 for our fuzzing, but that can come later.

Differential Revision: https://phab.mercurial-scm.org/D7562
Pierre-Yves David
upgrade-repo: colorize some of the output

Having clear color for requirement added and removed is useful.
Pierre-Yves David
upgraderepo: add a config option for parallel computation

The option is put to use to compute new copy tracing side data in parallel. It
use the multiprocessing module as it had the appropriate primitive for what we
needed. Gregory Szorc had concerned on windows so we disabled it there.

See inline comment for details on the parallel implementation.
Paul Sonnenschein
tests: remove hardcoded errno values

Fixes test failures on hurd-i386

Ref: https://bugs.debian.org/946178

Differential Revision: https://phab.mercurial-scm.org/D7556
Martin von Zweigbergk
exchange: replace a "not x in ys" by more Pythonic "x not in ys"

Found by one of our (Google-)internal tools.

Differential Revision: https://phab.mercurial-scm.org/D7546
Kyle Lippincott
tests: fix command name in test-blackbox.t to be bytes

This command is only used when tests are run with --with-chg, so this was missed
before.

Differential Revision: https://phab.mercurial-scm.org/D7553
Martin von Zweigbergk
graft: never set both parents equal in the dirstate (issue6098)

merge.graft() can set both parents equal in the dirstate when
keepparent=True. We don't seem to set that in core, but the evolve
extension does use it. So I couldn't figure out a way to add a test
for this patch in core.

Differential Revision: https://phab.mercurial-scm.org/D7549
Martin von Zweigbergk
graft: rename `pctx` argument to `base` since that's what it is

The new name better matches the docstring. It also frees up `pctx` to
be used for something else (next patch).

Differential Revision: https://phab.mercurial-scm.org/D7547
Martin von Zweigbergk
graft: extract `repo['.']` to local variable

It's used in two places and I'm about to use it more.

Differential Revision: https://phab.mercurial-scm.org/D7548
Kyle Lippincott
amend: check for file modifications when updating dirstate (issue6233)

Previously, we called dirstate.normal(f), which would put information into the
dirstate claiming that the file on disk is what it "should be" for the current
checkout, and it would have the size and timestamp of the most recent
modification to the file (which is not necessarily the one we just committed).
If the file was modified while the commit message editor was open, we would put
incorrect information into the dirstate.

Differential Revision: https://phab.mercurial-scm.org/D7521
Kyle Lippincott
tests: fix test-chg.t to work with py3 (no setprocname)

Differential Revision: https://phab.mercurial-scm.org/D7551
Kyle Lippincott
tests: expect return status 255 on exception for test-blackbox.t with chg

Differential Revision: https://phab.mercurial-scm.org/D7554
Kyle Lippincott
tests: fix deprecation warning about regex flags not at beginning of expr

This may only show up when running the tests under python3.6+. Currently the
only test that does this is test-patchbomb-tls.t, and it only uses (?i), so
that's all that's handled at the moment.

Differential Revision: https://phab.mercurial-scm.org/D7552
Kyle Lippincott
packaging: include defaultrc/*.rc instead of default.d/*.rc

Differential Revision: https://phab.mercurial-scm.org/D7555
  • hg tests: run-tests.py (python 2.7.10) failed -  stdio
  • macOS 10.12 hg tests: run-tests.py (python 2.7.10) failed -  stdiowarnings (1)
Augie Fackler
merge with stable
Augie Fackler
Added signature for changeset a50fecefa691
  • hg tests (stable): pure failed -  stdio
Augie Fackler
Added tag 5.2.1 for changeset a50fecefa691
  • hg tests (stable): pure failed -  stdio