App Store: https://apps.apple.com/app/zingo/id1668209531 Google Play: https://play.google.com/store/apps/details?id=org.ZingoLabs.Zingo
If you believe you have discovered a security issue, please contact us at:
Please see the platform specific iOS and Android "quickstart" documentation.
Integration tests and end-to-end tests require a regtest server. On linux hosts, these may be run
locally by installing the lightwalletd, zcashd and zcash-cli binaries
(https://github.com/zingolabs/zingolib#regtest). From the rust/android/regtest/bin/
directory run:
ln -s path/to/lightwalletd/binary path/to/zcashd/binary path/to/zcash-cli/binary ./
From the rust/android/lightwalletd_bin
directory run:
ln -s path/to/lightwalletd/binary ./
Alternatively, integration tests and end-to-end tests can be run on non-linux hosts with Regchest
(https://github.com/zingolabs/zingo-regchest). Regchest manages the zcash/lightwalletd regtest
network in a docker container. Before running tests, pull the latest Regchest image from docker:
docker pull zingodevops/regchest:010
- From the root directory, run:
yarn test
- Create quick-boot snapshots to speed up AVD launch times. From the root directory, run:
./scripts/integration_tests.sh -a x86_64 -s
./scripts/integration_tests.sh -a x86 -s
By default, this uses default API 29 system images. Other images may be used for testing by specifying the api level and target. However, using other images with the cargo test runner is still under development. - To run the integration tests. From the
rust
directory, run:
cargo nextest run integration
Specify to run specific ABI:
cargo nextest run integration::x86_64
cargo nextest run integration::x86_32
cargo nextest run integration::arm64
cargo nextest run integration::arm32
Specify to run a specific test on all ABIs:
cargo nextest run test_name
Specify to run a specific ABI and test:
cargo nextest run integration::x86_64::test_name
To run tests with Regchest, add the --features regchest
flag, for example:
cargo nextest run integration --features regchest
For more information on running integration tests on non-default AVDs, run:
./scripts/integration_tests.sh -h
Without the cargo test runner these emulated android devices will not be able to connect to a
lightwalletd/zcashd regtest network. Therefore, only tests in the "Offline Testsuite" may be tested.
- Note there needs to be a lightwalletd in rust/android/lightwalletd_bin
- Launch the emulated AVD by clicking the 'play' icon in Android Studio's
Device Manager
. Alternatively, connect to a physical device. See previous section 'Launching the app' for more details. - In a terminal, run:
yarn start
- Create quick-boot snapshots to speed up AVD launch times. From the root directory, run:
./scripts/e2e_tests.sh -a x86_64 -s
./scripts/e2e_tests.sh -a x86 -s
By default, this uses default API 29 system images. Other images may be used for testing by specifying the api level and target. However, using other images with the cargo test runner is still under development. - In a separate terminal, from the
rust
directory, run all tests:
cargo nextest run e2e
Specify to run specific ABI:
cargo nextest run e2e::x86_64
cargo nextest run e2e::x86_32
cargo nextest run e2e::arm64
cargo nextest run e2e::arm32
Specify to run a specific ABI and test:
cargo nextest run e2e::x86_64::test_name
Regchest is still under development and currently not able to run darkside end-to-end tests:
cargo nextest run e2e --features regchest -E 'not test(darkside)'
For notes on known issues and problems, see the trouble-shooting notes.