Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Unified Diff: native_client_sdk/src/tests/nacl_io_test/tty_test.cc

Issue 242533005: [NaCl SDK] nacl_io: Add flow control the JavaScript pipes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/tests/nacl_io_test/tty_test.cc
diff --git a/native_client_sdk/src/tests/nacl_io_test/tty_test.cc b/native_client_sdk/src/tests/nacl_io_test/tty_test.cc
index de9e978170c05a792af2bd5b6ef050eb25c178e5..786360729d6ffa833c1b9f36c8eec4769be80087 100644
--- a/native_client_sdk/src/tests/nacl_io_test/tty_test.cc
+++ b/native_client_sdk/src/tests/nacl_io_test/tty_test.cc
@@ -24,31 +24,41 @@ using namespace nacl_io;
namespace {
-class TtyTest : public ::testing::Test {
+class TtyNodeTest : public ::testing::Test {
public:
void SetUp() {
- ASSERT_EQ(0, ki_push_state_for_testing());
- ASSERT_EQ(0, ki_init(&kp_));
ASSERT_EQ(0, fs_.Access(Path("/tty"), R_OK | W_OK));
ASSERT_EQ(EACCES, fs_.Access(Path("/tty"), X_OK));
ASSERT_EQ(0, fs_.Open(Path("/tty"), O_RDWR, &dev_tty_));
ASSERT_NE(NULL_NODE, dev_tty_.get());
}
- void TearDown() { ki_uninit(); }
-
protected:
- KernelProxy kp_;
DevFsForTesting fs_;
ScopedNode dev_tty_;
};
-TEST_F(TtyTest, InvalidIoctl) {
+class TtyTest : public ::testing::Test {
+ public:
+ void SetUp() {
+ ASSERT_EQ(0, ki_push_state_for_testing());
+ ASSERT_EQ(0, ki_init(&kp_));
+ }
+
+ void TearDown() {
+ ki_uninit();
+ }
+
+ protected:
+ KernelProxy kp_;
+};
+
+TEST_F(TtyNodeTest, InvalidIoctl) {
// 123 is not a valid ioctl request.
EXPECT_EQ(EINVAL, dev_tty_->Ioctl(123));
}
-TEST_F(TtyTest, TtyInput) {
+TEST_F(TtyNodeTest, TtyInput) {
// Now let's try sending some data over.
// First we create the message.
std::string message("hello, how are you?\n");
@@ -99,7 +109,7 @@ static ssize_t output_handler(const char* buf, size_t count, void* data) {
return count;
}
-TEST_F(TtyTest, TtyOutput) {
+TEST_F(TtyNodeTest, TtyOutput) {
// When no handler is registered then all writes should return EIO
int bytes_written = 10;
const char* message = "hello\n";
@@ -245,7 +255,8 @@ static void sighandler(int sig) { g_recieved_signal = sig; }
TEST_F(TtyTest, WindowSize) {
// Get current window size
struct winsize old_winsize = {0};
- ASSERT_EQ(0, dev_tty_->Ioctl(TIOCGWINSZ, &old_winsize));
+ int tty_fd = ki_open("/dev/tty", O_RDONLY);
+ ASSERT_EQ(0, ki_ioctl_wrapper(tty_fd, TIOCGWINSZ, &old_winsize));
// Install signal handler
sighandler_t new_handler = sighandler;
@@ -258,7 +269,7 @@ TEST_F(TtyTest, WindowSize) {
struct winsize winsize;
winsize.ws_col = 100;
winsize.ws_row = 200;
- EXPECT_EQ(0, dev_tty_->Ioctl(TIOCSWINSZ, &winsize));
+ EXPECT_EQ(0, ki_ioctl_wrapper(tty_fd, TIOCSWINSZ, &winsize));
EXPECT_EQ(SIGWINCH, g_recieved_signal);
// Restore old signal handler
@@ -267,12 +278,12 @@ TEST_F(TtyTest, WindowSize) {
// Verify new window size can be queried correctly.
winsize.ws_col = 0;
winsize.ws_row = 0;
- EXPECT_EQ(0, dev_tty_->Ioctl(TIOCGWINSZ, &winsize));
+ EXPECT_EQ(0, ki_ioctl_wrapper(tty_fd, TIOCGWINSZ, &winsize));
EXPECT_EQ(100, winsize.ws_col);
EXPECT_EQ(200, winsize.ws_row);
// Restore original windows size.
- EXPECT_EQ(0, dev_tty_->Ioctl(TIOCSWINSZ, &old_winsize));
+ EXPECT_EQ(0, ki_ioctl_wrapper(tty_fd, TIOCSWINSZ, &old_winsize));
}
/*
@@ -343,7 +354,7 @@ TEST_F(TtyTest, InputDuringSelect) {
FD_SET(tty_fd, &errorfds);
pthread_t resize_thread;
- pthread_create(&resize_thread, NULL, input_thread_main, &dev_tty_);
+ pthread_create(&resize_thread, NULL, input_thread_main, NULL);
struct timeval timeout;
timeout.tv_sec = 20;

Powered by Google App Engine
This is Rietveld 408576698