Skip to content
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

[sapling] run .t tests for getdeps sapling cli build #12

Closed
wants to merge 1 commit into from

Commits on Sep 22, 2024

  1. [sapling] run .t tests for getdeps sapling cli build

    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
     * helpers-testrepo.sh: fix assumption that system hg would be able to read test repo, check if its Sapling first.
     * excluded a few remaining tests (see comments in Makefile)
    
    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 with:
    `./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=48 --retry 0`
    
    You 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.t`
    
    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
    `./build/fbcode_builder/getdeps.py build --allow-system-packages --no-facebook-internal --src-dir=. sapling`
    
    run the tests.  48 was about max concurrency on my personal 64GB machine and took 4 mins.  Setting less concurrency for CI.
    ```
    ./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=48
    ----------------------------------------------------------------------
    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 736 tests, 51 skipped, 0 failed.
    passed on try 0
    ```
    
    generate github actions CI
    ```
    ./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 --num-jobs=16  --project-install-prefix sapling:/
    ```
    ahornby committed Sep 22, 2024
    Configuration menu
    Copy the full SHA
    09cc1b4 View commit details
    Browse the repository at this point in the history