/conjure-verification

A testing tool that ensures all Conjure clients and servers adhere to a common wire spec

Primary LanguageRustApache License 2.0Apache-2.0

Autorelease

conjure-verification

Behaviour aims to satisfy RFC 004: Consistent wire-format test cases, but there are a few differences.

This project has two main components:

Development

  • Install rustup using instructions on https://rustup.rs
  • Set up rustup to use the stable toolchain by default (note: nightly's cargofmt output will be different)
    rustup default stable
    
  • Create an ssh key if you don't have one, and add it to github
  • make sure the key is added to the ssh-agent, so that cargo can login to github, in order to access the palantir repository index
    ssh-add ~/.ssh/id_rsa
    
  • Install the rust plugin for the IDE of your choice
    • IntelliJ has superior code completion and can get the type of arbitrary expressions (using the Rust plugin), but make sure to tick "Use cargo check to analyze code" - slower, but otherwise IntelliJ won't show most errors inline
    • for VSCode, install RLS and CodeLLDB extension
  • To support formatting via rustfmt, install the component
    rustup component add rustfmt-preview
    

License

This project is made available under the Apache 2.0 License.