| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <errno.h> | 5 #include <errno.h> |
| 6 #include <fcntl.h> | 6 #include <fcntl.h> |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 memset(&dirents[0], 0, sizeof(dirents)); | 445 memset(&dirents[0], 0, sizeof(dirents)); |
| 446 EXPECT_EQ( | 446 EXPECT_EQ( |
| 447 0, root->GetDents(0, &dirents[0], sizeof(dirent) * 3 + 2, &bytes_read)); | 447 0, root->GetDents(0, &dirents[0], sizeof(dirent) * 3 + 2, &bytes_read)); |
| 448 | 448 |
| 449 { | 449 { |
| 450 size_t num_dirents = bytes_read / sizeof(dirent); | 450 size_t num_dirents = bytes_read / sizeof(dirent); |
| 451 EXPECT_EQ(3, num_dirents); | 451 EXPECT_EQ(3, num_dirents); |
| 452 EXPECT_EQ(sizeof(dirent) * num_dirents, bytes_read); | 452 EXPECT_EQ(sizeof(dirent) * num_dirents, bytes_read); |
| 453 | 453 |
| 454 std::multiset<std::string> dirnames; | 454 std::multiset<std::string> dirnames; |
| 455 for (int i = 0; i < num_dirents; ++i) { | 455 for (size_t i = 0; i < num_dirents; ++i) { |
| 456 EXPECT_EQ(sizeof(dirent), dirents[i].d_off); | 456 EXPECT_EQ(sizeof(dirent), dirents[i].d_off); |
| 457 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen); | 457 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen); |
| 458 dirnames.insert(dirents[i].d_name); | 458 dirnames.insert(dirents[i].d_name); |
| 459 } | 459 } |
| 460 | 460 |
| 461 EXPECT_EQ(1, dirnames.count("file")); | 461 EXPECT_EQ(1, dirnames.count("file")); |
| 462 EXPECT_EQ(1, dirnames.count(".")); | 462 EXPECT_EQ(1, dirnames.count(".")); |
| 463 EXPECT_EQ(1, dirnames.count("..")); | 463 EXPECT_EQ(1, dirnames.count("..")); |
| 464 } | 464 } |
| 465 | 465 |
| 466 // Add another file... | 466 // Add another file... |
| 467 ASSERT_EQ(0, mnt->Open(Path("/file2"), O_CREAT, &node)); | 467 ASSERT_EQ(0, mnt->Open(Path("/file2"), O_CREAT, &node)); |
| 468 | 468 |
| 469 // Read the root directory again. | 469 // Read the root directory again. |
| 470 memset(&dirents[0], 0, sizeof(dirents)); | 470 memset(&dirents[0], 0, sizeof(dirents)); |
| 471 EXPECT_EQ(0, root->GetDents(0, &dirents[0], sizeof(dirents), &bytes_read)); | 471 EXPECT_EQ(0, root->GetDents(0, &dirents[0], sizeof(dirents), &bytes_read)); |
| 472 | 472 |
| 473 { | 473 { |
| 474 size_t num_dirents = bytes_read / sizeof(dirent); | 474 size_t num_dirents = bytes_read / sizeof(dirent); |
| 475 EXPECT_EQ(4, num_dirents); | 475 EXPECT_EQ(4, num_dirents); |
| 476 EXPECT_EQ(sizeof(dirent) * num_dirents, bytes_read); | 476 EXPECT_EQ(sizeof(dirent) * num_dirents, bytes_read); |
| 477 | 477 |
| 478 std::multiset<std::string> dirnames; | 478 std::multiset<std::string> dirnames; |
| 479 for (int i = 0; i < num_dirents; ++i) { | 479 for (size_t i = 0; i < num_dirents; ++i) { |
| 480 EXPECT_EQ(sizeof(dirent), dirents[i].d_off); | 480 EXPECT_EQ(sizeof(dirent), dirents[i].d_off); |
| 481 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen); | 481 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen); |
| 482 dirnames.insert(dirents[i].d_name); | 482 dirnames.insert(dirents[i].d_name); |
| 483 } | 483 } |
| 484 | 484 |
| 485 EXPECT_EQ(1, dirnames.count("file")); | 485 EXPECT_EQ(1, dirnames.count("file")); |
| 486 EXPECT_EQ(1, dirnames.count("file2")); | 486 EXPECT_EQ(1, dirnames.count("file2")); |
| 487 EXPECT_EQ(1, dirnames.count(".")); | 487 EXPECT_EQ(1, dirnames.count(".")); |
| 488 EXPECT_EQ(1, dirnames.count("..")); | 488 EXPECT_EQ(1, dirnames.count("..")); |
| 489 } | 489 } |
| 490 } | 490 } |
| OLD | NEW |