Build most tests, and run a few more

The tests not yet building are explicit tests of platform
abstractions (POSIX or Windows) and things which require OpenSSL headers.

This adds Fuchsia to the list of systems which need to suppress unused
typedef warnings. This codebase uses typedefs as a sort of static
assertion around type requirements (cf. handler_type_requirements.hpp).
But the typedefs aren't used, so this causes the build to add an unused
attribute to them.

The upstream version of the tests built everything as individual
binaries. So this also introduces some per-test-suite anonymous
namespaces to avoid some collisions on helper function names.

Change-Id: I41edc03c22a1604cad14e50ac2fc86b304d88f03
14 files changed
tree: ae199bdfe77a6d09381b864f97ac10db76c740a5
  1. asio/
  2. .gitignore
  3. BUILD.gn