-
Notifications
You must be signed in to change notification settings - Fork 842
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
72 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,12 +19,76 @@ | |
|
||
# Apache Arrow Rust Integration Testing | ||
|
||
See [Integration.rst](../../docs/source/format/Integration.rst) for an overview of integration testing. | ||
See [Integration Testing](https://arrow.apache.org/docs/format/Integration.html) for an overview of integration testing. | ||
|
||
This crate contains the following binaries, which are invoked by Archery during integration testing with other Arrow implementations. | ||
|
||
| Binary | Purpose | | ||
| --------------------------- | ----------------------------------------- | | ||
| arrow-file-to-stream | Converts an Arrow file to an Arrow stream | | ||
| arrow-stream-to-file | Converts an Arrow stream to an Arrow file | | ||
| arrow-json-integration-test | Converts between Arrow and JSON formats | | ||
| Binary | Purpose | | ||
| ------------------------------ | ----------------------------------------- | | ||
| arrow-file-to-stream | Converts an Arrow file to an Arrow stream | | ||
| arrow-stream-to-file | Converts an Arrow stream to an Arrow file | | ||
| arrow-json-integration-test | Converts between Arrow and JSON formats | | ||
| flight-test-integration-server | Flight integration test: Server | | ||
| flight-test-integration-client | Flight integration test: Client | | ||
|
||
# Notes on how to run Rust Integration Test against C/C++ | ||
|
||
The code for running the integration tests is in the [arrow](https://github.com/apache/arrow) repository | ||
|
||
### Check out code: | ||
|
||
```shell | ||
# check out arrow | ||
git clone [email protected]:apache/arrow.git | ||
# link rust source code into arrow | ||
ln -s <path_to_arrow_rs> arrow/rust | ||
``` | ||
|
||
### Install the tools: | ||
|
||
```shell | ||
cd arrow | ||
pip install -e dev/archery[docker] | ||
``` | ||
|
||
### Build the C++ binaries: | ||
|
||
Follow the [C++ Direction](https://github.com/apache/arrow/tree/master/docs/source/developers/cpp) and build the integration test binaries with a command like this: | ||
|
||
``` | ||
# build cpp binaries | ||
cd arrow/cpp | ||
mkdir build | ||
cd build | ||
cmake -DARROW_BUILD_INTEGRATION=ON -DARROW_FLIGHT=ON --preset ninja-debug-minimal .. | ||
cd .. | ||
ninja | ||
``` | ||
|
||
### Build the Rust binaries | ||
|
||
Then | ||
|
||
``` | ||
# build rust: | ||
cd ../arrow-rs | ||
cargo build --all | ||
``` | ||
|
||
### Run archery | ||
|
||
You can run the Archery tool using a command such as the following: | ||
|
||
```shell | ||
archery integration --with-cpp=true --with-rust=true | ||
``` | ||
|
||
To debug an individual test scenario, it is also possible to run the binaries directly: | ||
|
||
```shell | ||
# Run cpp server | ||
$ arrow/cpp/build/debug/flight-test-integration-server -port 49153 | ||
|
||
# run rust client (you can see file names if you run archery --debug | ||
$ arrow/rust/target/debug/flight-test-integration-client --host localhost --port=49153 --path /tmp/generated_dictionary_unsigned.json | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters