Add black code format revision to .git-blame-ignore-revs

Change-Id: Ia6fa7f99b747bdd9f86e65c4549d8fe7d2bb2580
Reviewed-on: https://fuchsia-review.googlesource.com/c/antlion/+/857902
Fuchsia-Auto-Submit: Patrick Lu <patricklu@google.com>
Reviewed-by: Sam Balana <sbalana@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: e8a0b8c0df4752f0be8fc55b5b0222568a00b764
  1. runner/
  2. src/
  3. third_party/
  4. .editorconfig
  5. .git-blame-ignore-revs
  6. .gitignore
  7. antlion_host_test.gni
  8. BUILD.gn
  9. CHANGELOG.md
  10. environments.gni
  11. LICENSE
  12. MANIFEST.in
  13. OWNERS
  14. pyproject.toml
  15. README.md
  16. setup.py
README.md

antlion

Collection of host-driven, hardware-agnostic Fuchsia connectivity tests. Mainly targeting WLAN and Netstack testing.

Docs | Report Bug | Request Feature

Getting Started

Requires Python 3.8+

  1. Clone the repo

    git clone https://fuchsia.googlesource.com/antlion
    
  2. Install dependencies using venv

    cd antlion
    python3 -m venv .venv      # Create a virtual environment in the `.venv` directory
    source .venv/bin/activate  # Activate the virtual environment
    pip install --editable .
    # Run `deactivate` later to exit the virtual environment
    
  3. Write the sample config and update the Fuchsia controller to match your development environment

    mkdir -p config
    cat <<EOF > config/simple.json
    {
       "testbed": [{
          "name": "simple_testbed",
          "FuchsiaDevice": [{
             "ip": "fuchsia-00e0-4c01-04df"
          }]
       }],
       "logpath": "logs"
    }
    EOF
    
  4. Run the sanity test

    antlion -c config/simple.json -tc Sl4fSanityTest
    

See antlion -h for more full usage.

Contributing

Contributions are what make open source projects a great place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please create a CL.

Before contributing, a few more tools are necessary:

  • Install these additional dependencies:
    pip install --editable ".[dev]"
    
  • Install the EditorConfig plugin for your editor
  • Install Black our preferred code formatter. Optionally, add the extension to your editor.
  • Complete the steps in ‘Contribute source changes’ to gain authorization

To create a CL:

  1. Create a feature branch (git checkout -b feature/amazing-feature)
  2. Document your change in CHANGELOG.md
  3. Run your change through Black formatter
  4. Commit changes (git add . && git commit -m 'Add some amazing feature')
  5. Upload CL (git push origin HEAD:refs/for/main)

A public bug tracker is not (yet) available.

Recommended git aliases

There are a handful of git commands that will be commonly used throughout the process of contributing. Here are a few aliases to add to your git config (~/.gitconfig) for a smoother workflow:

  • git amend to modify your CL in response to code review comments
  • git uc to upload your CL, run pre-submit tests, enable auto-submit, and add a reviewer
[alias]
  amend = commit --amend --no-edit
  uc = push origin HEAD:refs/for/main%l=Commit-Queue+1,l=Fuchsia-Auto-Submit+1,publish-comments,r=sbalana

You may also want to add a section to ignore the project's large formatting changes:

[blame]
  ignoreRevsFile = .git-blame-ignore-revs

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Acknowledgments

This is a fork of ACTS, the connectivity testing framework used by Android. The folks over there did a great job at cultivating amazing tools, much of which are being used or have been extended with additional features.

Migrating CLs from ACTS

antlion and ACTS share the same git history, so migrating existing changes is straightforward:

  1. Checkout to latest main

    git checkout main
    git pull --rebase origin main
    
  2. Cherry-pick the ACTS change

    git fetch acts refs/changes/16/12345/6 && git checkout -b change-12345 FETCH_HEAD
    git fetch https://android.googlesource.com/platform/tools/test/connectivity refs/changes/30/2320530/1 && git cherry-pick FETCH_HEAD
    
  3. Resolve any merge conflicts, if any

    git add [...]
    git rebase --continue
    
  4. Upload CL

    git push origin HEAD:refs/for/main # or "git uc" if using the alias