Add package config for asio_unittests

Change-Id: I849b477a6b196d4c36dd21e4ca14ad7ab3db8255
diff --git a/BUILD.gn b/BUILD.gn
index cb7e1ac..f8f8b0a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -26,6 +26,20 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+import("//packages/package.gni")
+
+package("asio_unittests") {
+  testonly = true
+
+  deps = [
+    ":tests",
+  ]
+
+  binaries = [ {
+        name = "asio_unittests"
+      } ]
+}
+
 # asio is, in our configuration, a header-only library. The defines
 # here are necessary to teach asio to not look for the rest of boost,
 # to not want to be installed anywhere, and to not use exceptions or
@@ -429,8 +443,8 @@
     "asio/include/asio/placeholders.hpp",
     "asio/include/asio/posix/basic_descriptor.hpp",
     "asio/include/asio/posix/basic_stream_descriptor.hpp",
-    "asio/include/asio/posix/descriptor_base.hpp",
     "asio/include/asio/posix/descriptor.hpp",
+    "asio/include/asio/posix/descriptor_base.hpp",
     "asio/include/asio/posix/stream_descriptor.hpp",
     "asio/include/asio/posix/stream_descriptor_service.hpp",
     "asio/include/asio/post.hpp",
@@ -489,8 +503,8 @@
     "asio/include/asio/ts/executor.hpp",
     "asio/include/asio/ts/internet.hpp",
     "asio/include/asio/ts/io_context.hpp",
-    "asio/include/asio/ts/netfwd.hpp",
     "asio/include/asio/ts/net.hpp",
+    "asio/include/asio/ts/netfwd.hpp",
     "asio/include/asio/ts/socket.hpp",
     "asio/include/asio/ts/timer.hpp",
     "asio/include/asio/unyield.hpp",
@@ -519,7 +533,8 @@
   public_configs = [ ":asio_config" ]
 }
 
-executable("asio_unittests") {
+executable("tests") {
+  output_name = "asio_unittests"
   testonly = true
 
   sources = [
@@ -600,10 +615,12 @@
     "asio/src/tests/unit/main.cpp",
     "asio/src/tests/unit/packaged_task.cpp",
     "asio/src/tests/unit/placeholders.cpp",
+    "asio/src/tests/unit/posix/descriptor.cpp",
+
     # "asio/src/tests/unit/posix/basic_descriptor.cpp",
     # "asio/src/tests/unit/posix/basic_stream_descriptor.cpp",
     "asio/src/tests/unit/posix/descriptor_base.cpp",
-    "asio/src/tests/unit/posix/descriptor.cpp",
+
     # "asio/src/tests/unit/posix/stream_descriptor.cpp",
     # "asio/src/tests/unit/posix/stream_descriptor_service.cpp",
     "asio/src/tests/unit/post.cpp",
@@ -619,6 +636,7 @@
     "asio/src/tests/unit/signal_set_service.cpp",
     "asio/src/tests/unit/socket_acceptor_service.cpp",
     "asio/src/tests/unit/socket_base.cpp",
+
     # "asio/src/tests/unit/ssl/context.cpp",
     # "asio/src/tests/unit/ssl/context_base.cpp",
     # "asio/src/tests/unit/ssl/rfc2818_verification.cpp",
@@ -636,6 +654,7 @@
     "asio/src/tests/unit/uses_executor.cpp",
     "asio/src/tests/unit/wait_traits.cpp",
     "asio/src/tests/unit/waitable_timer_service.cpp",
+
     # "asio/src/tests/unit/windows/basic_handle.cpp",
     # "asio/src/tests/unit/windows/basic_object_handle.cpp",
     # "asio/src/tests/unit/windows/basic_random_access_handle.cpp",