forked from facebook/sapling
-
Notifications
You must be signed in to change notification settings - Fork 0
[sapling] run .t tests for getdeps sapling cli build #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
037807b to
49af705
Compare
0e3a324 to
fd8a64b
Compare
Summary: Connect up the sapling *.t tests so that github CI has visible cli test status. To get them to run: * some needed fbpython on path. I included a shim for that in the test makefile target. * test-rust-hooks: Command not found message, added a glob * test-identity.t: add a glob for the sapling version * test-eolfilename.t: output order was unstable, added sorts to make stable * helpers-testrepo.sh: fix assumption that system hg would be able to read test repo, check if its Sapling first. * added a manifest for the hexdump utility some of the tests required * excluded a few remaining tests (see comments in Makefile for reason) * fixed getdeps support for generating actions steps for test only dependencies NB the tests run as "hg". The expectations would need to be updated if we were to run as "sl" Test Plan: enter ubuntu 22.04 toolbox: `toolbox enter ubuntu-toolbox-22.04 ` make sure system packages are installed `./build/fbcode_builder/getdeps.py install-system-deps --recursive sapling` build sapling (and any depedencieds it requires) `./build/fbcode_builder/getdeps.py build --allow-system-packages --src-dir=. sapling` run the tests. 64 concurrent jobs worked well on my 64GB machine and took 2m10s. ``` ./build/fbcode_builder/getdeps.py test --allow-system-packages --src-dir=. sapling --num-jobs=64 ---------------------------------------------------------------------- Skipped 2 tests (missing feature: Mononoke server available): test-fb-ext-remotefilelog-log.t test-fb-ext-remotefilelog-worker.t Skipped 3 tests (missing feature: running tests with fsmonitor): test-fsmonitor-filemerge.t test-fsmonitor-nonutf8-path.t test-rust-hgevents.t Skipped 46 tests (skipped): test-atexit-epipe.t test-casefolding.t test-check-clang-format.t test-check-code.t test-check-fix-code.t test-check-help.t test-checkserverbookmark.t test-chg.t test-debugbacktrace.t test-debugshell-namespace.t test-eden-clone.t test-eden-commands.t test-eden-du.t test-eden-glob.t test-eden-sparse.t test-eden-watchman-edenapi-glob.t test-eden-watchman-noedenapi-glob.t test-fb-ext-fbconduit.t test-fb-ext-scm-prompt-compat.t test-fb-ext-scm-prompt-git.t test-fb-ext-tweakdefaults-grep.t test-fsmonitor-casefolding.t test-fsmonitor-fallback.t test-fsmonitor-metadata.t test-fsmonitor-refreshclock.t test-fsmonitor-status.t test-fsmonitor-warn-fresh.t test-histedit-reorder.t test-matcher-expand-globs.t test-mutation-infinitepush.t test-non-working-symlink.t test-progress-rust-renderer.t test-progressfile.t test-purge-fsmonitor.t test-remotenames-journal.t test-runlog.t test-rust-status-in-transaction.t test-sparse-track-ignored.t test-status-case-insensitive.t test-status-fresh-instance.t test-status-root-ignored-py.t test-status-watchman.t test-symlink-migration.t test-tracing-under-chg.t test-treestate-fresh-instance.t test-treestate-trackignore.t # Ran 729 tests, 51 skipped, 0 failed. passed on try 0 ``` generate github actions CI (using 16 concurrent jobs to speed them up a little) ``` ./build/fbcode_builder/getdeps.py --allow-system-packages generate-github-actions --free-up-disk --os-type=linux --src-dir=. --output-dir=.github/workflows --job-name "Sapling CLI Getdeps " --job-file-prefix=sapling-cli-getdeps_ sapling --project-install-prefix sapling:/ --num-jobs=16 ``` debugged actions locally with: ``` act -r -j build -W .github/workflows/sapling-cli-getdeps_linux.yml ```
fd8a64b to
ceefbc1
Compare
ahornby
pushed a commit
that referenced
this pull request
Nov 22, 2024
Summary:
Fixes this (which was polluting my `arc rust-check` output):
```
warning: unused variable: `time`
--> fbcode/eden/scm/saplingnative/bindings/modules/pymetalog/src/lib.rs:119:38
|
119 | def commit(&self, message: &str, time: Option<u64> = None, pending: bool = false) -> PyResult<Bytes> {
| ^^^^
|
help: `time` is captured in macro and introduced a unused variable
--> third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class.rs:478:1
|
= note: in this expansion of `py_class!` (#1)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class.rs:537:9
|
= note: in this macro invocation (#2)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class.rs:543:1
|
= note: in this expansion of `$crate::py_class_impl_item!` (#18)
--> third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:30:1
|
= note: in this expansion of `$crate::py_class_impl!` (#2)
|
= note: in this expansion of `$crate::py_class_impl!` (#3)
|
= note: in this expansion of `$crate::py_class_impl!` (#4)
|
= note: in this expansion of `$crate::py_class_impl!` (#5)
|
= note: in this expansion of `$crate::py_class_impl!` (#6)
|
= note: in this expansion of `$crate::py_class_impl!` (#7)
|
= note: in this expansion of `$crate::py_class_impl!` (#8)
|
= note: in this expansion of `$crate::py_class_impl!` (#9)
|
= note: in this expansion of `$crate::py_class_impl!` (#10)
|
= note: in this expansion of `$crate::py_class_impl!` (#11)
|
= note: in this expansion of `$crate::py_class_impl!` (#12)
|
= note: in this expansion of `$crate::py_class_impl!` (#13)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:249:5
|
= note: in this macro invocation (#3)
|
= note: in this macro invocation (#4)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:2392:5
|
= note: in this macro invocation (#5)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:2970:5
|
= note: in this macro invocation (#7)
|
= note: in this macro invocation (#13)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:2999:13
|
= note: in this macro invocation (#14)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:3005:5
|
= note: in this macro invocation (#8)
|
= note: in this macro invocation (#11)
|
= note: in this macro invocation (#12)
::: third-party/rust/vendor/cpython-0.7.2/src/py_class/py_class_impl3.rs:3120:5
|
= note: in this macro invocation (#6)
|
= note: in this macro invocation (#9)
|
= note: in this macro invocation (#10)
--> third-party/rust/vendor/cpython-0.7.2/src/argparse.rs:196:1
|
= note: in this expansion of `$crate::py_argparse_parse_plist_impl!` (#14)
|
= note: in this expansion of `$crate::py_argparse_parse_plist_impl!` (#15)
|
= note: in this expansion of `$crate::py_argparse_parse_plist_impl!` (#16)
|
= note: in this expansion of `$crate::py_argparse_parse_plist_impl!` (#17)
::: third-party/rust/vendor/cpython-0.7.2/src/argparse.rs:201:9
|
= note: in this macro invocation (#18)
::: third-party/rust/vendor/cpython-0.7.2/src/argparse.rs:271:9
|
= note: in this macro invocation (#15)
::: third-party/rust/vendor/cpython-0.7.2/src/argparse.rs:331:9
|
= note: in this macro invocation (#16)
|
= note: in this macro invocation (#17)
|
::: fbcode/eden/scm/saplingnative/bindings/modules/pymetalog/src/lib.rs:36:1
|
36 | / py_class!(pub class metalog |py| {
37 | | data log: Arc<RwLock<MetaLog>>;
38 | | data fspath: String;
... |
226 | | }
227 | | });
| |____- in this macro invocation (#1)
= note: `#[warn(unused_variables)]` on by default
```
Reviewed By: quark-zju
Differential Revision: D65218833
fbshipit-source-id: fa69c1a24a32b7eff857070528f6337ec0b3711c
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Connect up the sapling *.t tests so that github CI has visible cli test status.
To get them to run:
NB the tests run as "hg". The expectations would need to be updated if we were to run as "sl"
This makes the tests runnable locally with:
./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=48 --retry 0You can rerun one test with --filter:
./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=1 --retry 1 --filter test-check-execute.tTest Plan:
enter ubuntu 22.04 toolbox:
toolbox enter ubuntu-toolbox-22.04make sure system packages are installed
./build/fbcode_builder/getdeps.py install-system-deps --recursive saplingbuild sapling
./build/fbcode_builder/getdeps.py build --allow-system-packages --no-facebook-internal --src-dir=. saplingrun the tests. 48 was about max concurrency on my personal 64GB machine and took 4 mins. Setting less concurrency for CI.
generate github actions CI