This project uses a pretty standard contribution workflow:
- Fork the repository
- Create a branch with your changes
- Make sure all tests pass
- Submit a pull request
- Be patient
eetcd
tests expect an etcd cluster with 3 members running. You can start a cluster any way
you please but must use the same set of ports:
/path/to/etcd/etcd --name infra0 --initial-advertise-peer-urls http://127.0.0.1:2380 \
--listen-peer-urls http://127.0.0.1:2380 \
--listen-client-urls http://127.0.0.1:2379 \
--advertise-client-urls http://127.0.0.1:2379 \
--initial-cluster-token etcd-cluster-1 \
--initial-cluster infra0=http://127.0.0.1:2380,infra1=http://127.0.0.1:2480,infra2=http://127.0.0.1:2580 \
--initial-cluster-state new &
/path/to/etcd/etcd --name infra1 --initial-advertise-peer-urls http://127.0.0.1:2480 \
--listen-peer-urls http://127.0.0.1:2480 \
--listen-client-urls http://127.0.0.1:2479 \
--advertise-client-urls http://127.0.0.1:2479 \
--initial-cluster-token etcd-cluster-1 \
--initial-cluster infra0=http://127.0.0.1:2380,infra1=http://127.0.0.1:2480,infra2=http://127.0.0.1:2580 \
--initial-cluster-state new &
/path/to/etcd/etcd --name infra2 --initial-advertise-peer-urls http://127.0.0.1:2580 \
--listen-peer-urls http://127.0.0.1:2580 \
--listen-client-urls http://127.0.0.1:2579 \
--advertise-client-urls http://127.0.0.1:2579 \
--initial-cluster-token etcd-cluster-1 \
--initial-cluster infra0=http://127.0.0.1:2380,infra1=http://127.0.0.1:2480,infra2=http://127.0.0.1:2580 \
--initial-cluster-state new &
To run tests, use
rebar3 ct
rebar3 ct
can run a specific suite:
rebar3 ct --suite eetcd_kv_SUITE
rebar3 clean
rebar3 etcd gen
rebar3 compile