##// END OF EJS Templates
rust: introduce `dirstate-tree` cargo feature...
rust: introduce `dirstate-tree` cargo feature This feature gates (at compile-time) the use of the newly-added dirstate tree. The motivation for this is that the dirstate tree is currently *very* slow; replacing the current hashmap-based dirstate is not a viable solution in terms of performance... and why would you be using the Rust implementation if not for performance? The feature will also help reviewers better understand the differences that will slowly appear as the dirstate tree gets better. Differential Revision: https://phab.mercurial-scm.org/D9132

File last commit:

r46184:e604a3c0 default
r46184:e604a3c0 default
Show More
heptapod-ci.yml
104 lines | 2.6 KiB | text/x-yaml | YamlLexer
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 image: octobus/ci-mercurial-core
# The runner made a clone as root.
# We make a new clone owned by user used to run the step.
before_script:
- hg clone . /tmp/mercurial-ci/ --noupdate
- hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
Antoine Cezar
heptapod-ci: build rhg before tests run...
r45594 - cd /tmp/mercurial-ci/rust/rhg
- cargo build
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 - cd /tmp/mercurial-ci/
heptapod-ci: fix test paths in the listing file...
r45050 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752
heptapod-ci: run test with python3 too...
r44754 variables:
PYTHON: python
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "allow"
heptapod-ci: run test with python3 too...
r44754
.runtests_template: &runtests
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 script:
heptapod-ci: run test with python3 too...
r44754 - echo "python used, $PYTHON"
heptapod-ci: run the normal test suite...
r44756 - echo "$RUNTEST_ARGS"
heptapod-ci: run the test from outside the test directory...
r44979 - HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
heptapod-ci: run test with python3 too...
r44754
checks-py2:
<<: *runtests
heptapod-ci: run the normal test suite...
r44756 variables:
RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
heptapod-ci: run test with python3 too...
r44754
checks-py3:
<<: *runtests
variables:
heptapod-ci: run the normal test suite...
r44756 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
heptapod-ci: run test with python3 too...
r44754 PYTHON: python3
heptapod-ci: also run the dedicated rust test for the rust code...
r44755
rust-cargo-test-py2: &rust_cargo_test
script:
- echo "python used, $PYTHON"
- make rust-tests
rust-cargo-test-py3:
<<: *rust_cargo_test
variables:
PYTHON: python3
heptapod-ci: run the normal test suite...
r44756
Raphaël Gomès
rust: introduce `dirstate-tree` cargo feature...
r46184 rust-cargo-test-py3-dirstate-tree:
<<: *rust_cargo_test
variables:
PYTHON: python3
HG_RUST_FEATURES: dirstate-tree
heptapod-ci: run the normal test suite...
r44756 test-py2:
<<: *runtests
variables:
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "c"
heptapod-ci: run the normal test suite...
r44756
test-py3:
<<: *runtests
variables:
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
heptapod-ci: run the normal test suite...
r44756 PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "c"
heptapod-ci: run the --pure test too...
r44757
test-py2-pure:
<<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "py"
heptapod-ci: run the --pure test too...
r44757
test-py3-pure:
<<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "py"
heptapod-ci: add a job to test the rust version of Mercurial...
r44758
test-py2-rust:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "rust+c"
heptapod-ci: add a job to test the rust version of Mercurial...
r44758
test-py3-rust:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
heptapod-ci: add a job to test the rust version of Mercurial...
r44758 PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "rust+c"
heptapod-ci: also run tests for chg on python 2...
r45462
Raphaël Gomès
rust: introduce `dirstate-tree` cargo feature...
r46184 test-py3-rust-dirstate-tree:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
HG_RUST_FEATURES: "dirstate-tree"
heptapod-ci: also run tests for chg on python 2...
r45462 test-py2-chg:
<<: *runtests
variables:
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"