blob: aaad21974ac5fde28b57be674d6d2621535817da [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 "src/developer/cmd/tasks/synchronous_task.h"
#include "gtest/gtest.h"
#include "src/developer/cmd/legacy/builtins.h"
namespace {
static int g_call_count = 0;
int IncrementCallCount(int argc, const char** argv) {
g_call_count++;
return -3;
}
TEST(SynchronousTask, Control) {
cmd::Command command;
command.Parse("ignored");
cmd::SynchronousTask task(nullptr, &IncrementCallCount);
g_call_count = 0;
EXPECT_EQ(ZX_ERR_NEXT, task.Execute(std::move(command), nullptr));
EXPECT_EQ(1, g_call_count);
}
TEST(SynchronousTask, Ls) {
cmd::Command command;
command.Parse("ls");
cmd::SynchronousTask task(nullptr, &zxc_ls);
EXPECT_EQ(ZX_ERR_NEXT, task.Execute(std::move(command), nullptr));
}
} // namespace