stream_unittest: Fix build on windows

On windows PlatformHandle is not an int. Let's use real `PlaformHandle`s
for the unittest.

Tested: build and run test on windows
Change-Id: I4614c320fa65f5546077402aac4bc672e6fe564f
diff --git a/src/base/threading/stream_unittest.cc b/src/base/threading/stream_unittest.cc
index 3036bd9..a9ac9aa 100644
--- a/src/base/threading/stream_unittest.cc
+++ b/src/base/threading/stream_unittest.cc
@@ -18,7 +18,9 @@
 
 #include <vector>
 
+#include "perfetto/base/platform_handle.h"
 #include "perfetto/base/status.h"
+#include "perfetto/ext/base/event_fd.h"
 #include "perfetto/ext/base/threading/future_combinators.h"
 #include "perfetto/ext/base/threading/poll.h"
 #include "test/gtest_and_gmock.h"
@@ -30,6 +32,7 @@
 using testing::_;
 using testing::ElementsAre;
 using testing::Return;
+using testing::UnorderedElementsAre;
 
 template <typename T>
 class MockPollable : public FuturePollable<T> {
@@ -258,10 +261,13 @@
 }
 
 TEST_F(StreamUnittest, FlattenStreams) {
+  EventFd event_fd1, event_fd2, event_fd3, event_fd4;
+  const PlatformHandle fd1 = event_fd1.fd(), fd2 = event_fd2.fd(),
+                       fd3 = event_fd3.fd(), fd4 = event_fd4.fd();
   std::unique_ptr<MockStreamPollable<int>> a(new MockStreamPollable<int>());
   EXPECT_CALL(*a, PollNext(_))
-      .WillOnce([](PollContext* ctx) {
-        ctx->RegisterInterested(1);
+      .WillOnce([fd1](PollContext* ctx) {
+        ctx->RegisterInterested(fd1);
         return PendingPollResult();
       })
       .WillOnce(Return(StreamPollResult<int>(1)))
@@ -269,12 +275,12 @@
 
   std::unique_ptr<MockStreamPollable<int>> b(new MockStreamPollable<int>());
   EXPECT_CALL(*b, PollNext(_))
-      .WillOnce([](PollContext* ctx) {
-        ctx->RegisterInterested(2);
+      .WillOnce([fd2](PollContext* ctx) {
+        ctx->RegisterInterested(fd2);
         return PendingPollResult();
       })
-      .WillOnce([](PollContext* ctx) {
-        ctx->RegisterInterested(2);
+      .WillOnce([fd2](PollContext* ctx) {
+        ctx->RegisterInterested(fd2);
         return PendingPollResult();
       })
       .WillOnce(Return(StreamPollResult<int>(2)))
@@ -283,9 +289,9 @@
   std::unique_ptr<MockStreamPollable<int>> c(new MockStreamPollable<int>());
   EXPECT_CALL(*c, PollNext(_))
       .WillOnce(Return(StreamPollResult<int>(3)))
-      .WillOnce([](PollContext* ctx) {
-        ctx->RegisterInterested(3);
-        ctx->RegisterInterested(4);
+      .WillOnce([fd3, fd4](PollContext* ctx) {
+        ctx->RegisterInterested(fd3);
+        ctx->RegisterInterested(fd4);
         return PendingPollResult();
       })
       .WillOnce(Return(DonePollResult()));
@@ -300,25 +306,25 @@
   ASSERT_THAT(interested_, ElementsAre());
 
   ASSERT_TRUE(stream.PollNext(&ctx_).IsPending());
-  ASSERT_THAT(interested_, ElementsAre(1, 2, 3, 4));
+  ASSERT_THAT(interested_, UnorderedElementsAre(fd1, fd2, fd3, fd4));
 
   interested_.clear();
   ASSERT_TRUE(stream.PollNext(&ctx_).IsPending());
-  ASSERT_THAT(interested_, ElementsAre(1, 2, 3, 4));
+  ASSERT_THAT(interested_, UnorderedElementsAre(fd1, fd2, fd3, fd4));
 
   interested_.clear();
-  ready_ = {1};
+  ready_ = {fd1};
   ASSERT_EQ(stream.PollNext(&ctx_).item(), 1);
   ASSERT_TRUE(stream.PollNext(&ctx_).IsPending());
-  ASSERT_THAT(interested_, ElementsAre(2, 3, 4));
+  ASSERT_THAT(interested_, UnorderedElementsAre(fd2, fd3, fd4));
 
   interested_.clear();
   ready_ = {};
   ASSERT_TRUE(stream.PollNext(&ctx_).IsPending());
-  ASSERT_THAT(interested_, ElementsAre(2, 3, 4));
+  ASSERT_THAT(interested_, ElementsAre(fd2, fd3, fd4));
 
   interested_.clear();
-  ready_ = {1, 2, 3};
+  ready_ = {fd1, fd2, fd3};
   ASSERT_TRUE(stream.PollNext(&ctx_).IsPending());
   ASSERT_EQ(stream.PollNext(&ctx_).item(), 2);
   ASSERT_TRUE(stream.PollNext(&ctx_).IsDone());