blob: bc19050db9a1eb7f802168b8f2b81d17bae1a695 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <lib/async-loop/cpp/loop.h>
#include <lib/async-loop/default.h>
#include <fs/managed_vfs.h>
#include <fs/synchronous_vfs.h>
#include <zxtest/zxtest.h>
TEST(ManagedVfs, CanOnlySetDispatcherOnce) {
fs::ManagedVfs vfs;
async::Loop loop(&kAsyncLoopConfigNoAttachToCurrentThread);
vfs.SetDispatcher(loop.dispatcher());
ASSERT_DEATH([&]() { vfs.SetDispatcher(loop.dispatcher()); });
}
TEST(SynchronousVfs, CanOnlySetDispatcherOnce) {
fs::SynchronousVfs vfs;
async::Loop loop(&kAsyncLoopConfigNoAttachToCurrentThread);
vfs.SetDispatcher(loop.dispatcher());
ASSERT_DEATH([&]() { vfs.SetDispatcher(loop.dispatcher()); });
}