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; |