flatbuffers/tests/docker
tymcauley 9e82ee2527 Fix rust crate for big-endian targets (#5229)
Thanks for tackling this, @tymcauley !

* big endian docker test -- wip

* tweaks

* tweaks

* tweaks

* docker tweaks

* fix conditional compilation issues

* reactivate other docker tests

* try some more cross-platform config (from tymcauley)

* Update tests/docker/languages/Dockerfile.testing.rust.big_endian.1_30_1

Co-Authored-By: rw <rw@users.noreply.github.com>

* Update tests/docker/languages/Dockerfile.testing.rust.big_endian.1_30_1

Co-Authored-By: rw <rw@users.noreply.github.com>

* Update tests/docker/languages/Dockerfile.testing.rust.big_endian.1_30_1

Co-Authored-By: rw <rw@users.noreply.github.com>

* Resolved Rust warnings during big-endian builds.

* Unify Rust test suites for x86 and MIPS builds.

Note that I had to add four extra packages to the MIPS `Dockerfile`:
`libexpat1`, `libmagic1`, `libmpdec2`, and `libreadline7`. For a reason
I couldn't identify, even the simplest Rust MIPS binaries run with
`qemu-mips` would fail with a segfault when run through this
`Dockerfile`. After installing the `gdb-multiarch` package to attempt to
debug the issue, the binaries ran successfully. I pared down the
packages installed by `gdb-multiarch`, and these four packages are the
minimum subset necessary to get Rust MIPS binaries running under
`qemu-mips`.

* Changed Rust tests to use `Vector`s instead of direct-slice-access.

The direct-slice-access method is not available on big-endian targets,
but `flatbuffers::Vector`s provide an array interface that is available
on all platforms.

* Resolved FooStruct endianness issues using explicit struct constructor.

This more closely resembles how FlatBuffers structs are constructed in
generated Rust code.

* Added explanation of how `FooStruct` parallels generated struct code.

Also collected duplicate implementations of `FooStruct` into a common
location.
2019-03-08 01:06:25 -08:00
..
languages Fix rust crate for big-endian targets (#5229) 2019-03-08 01:06:25 -08:00
Dockerfile.testing.build_flatc_debian_stretch CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
TODO.Dockerfile.testing.php.hhvm_2019_01_16 Docker tests for Zend PHP and Mono C#; Python coverage; TODO for HHVM PHP (#5125) 2019-01-16 16:41:02 -08:00
TODO.Dockerfile.testing.python.cpython_with_conda CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
TODO.Dockerfile.testing.python.cpython_with_numpy CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
TODO.Dockerfile.testing.python.pypy_6_0_0_py2 CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
TODO.Dockerfile.testing.python.pypy_6_0_0_py3 CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00