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 // A test application for the RLZ library. | 5 // A test application for the RLZ library. |
6 // | 6 // |
7 // These tests should not be executed on the build server: | 7 // These tests should not be executed on the build server: |
8 // - They assert for the failed cases. | 8 // - They assert for the failed cases. |
9 // - They modify machine state (registry). | 9 // - They modify machine state (registry). |
10 // | 10 // |
11 // These tests require write access to HKLM and HKCU. | 11 // These tests require write access to HKLM and HKCU. |
12 // | 12 // |
13 // The "GGLA" brand is used to test the normal code flow of the code, and the | 13 // The "GGLA" brand is used to test the normal code flow of the code, and the |
14 // "TEST" brand is used to test the supplementary brand code code flow. | 14 // "TEST" brand is used to test the supplementary brand code code flow. |
15 | 15 |
16 #include <stddef.h> | 16 #include <stddef.h> |
17 | 17 |
18 #include <memory> | 18 #include <memory> |
19 | 19 |
20 #include "base/logging.h" | 20 #include "base/logging.h" |
21 #include "base/posix/eintr_wrapper.h" | 21 #include "base/posix/eintr_wrapper.h" |
| 22 #include "base/single_thread_task_runner.h" |
22 #include "build/build_config.h" | 23 #include "build/build_config.h" |
23 #include "testing/gmock/include/gmock/gmock.h" | 24 #include "testing/gmock/include/gmock/gmock.h" |
24 #include "testing/gtest/include/gtest/gtest.h" | 25 #include "testing/gtest/include/gtest/gtest.h" |
25 | 26 |
26 #include "rlz/lib/financial_ping.h" | 27 #include "rlz/lib/financial_ping.h" |
27 #include "rlz/lib/rlz_lib.h" | 28 #include "rlz/lib/rlz_lib.h" |
28 #include "rlz/lib/rlz_value_store.h" | 29 #include "rlz/lib/rlz_value_store.h" |
29 #include "rlz/test/rlz_test_helpers.h" | 30 #include "rlz/test/rlz_test_helpers.h" |
30 | 31 |
31 #if defined(OS_WIN) | 32 #if defined(OS_WIN) |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 base::mac::ScopedNSAutoreleasePool pool; | 442 base::mac::ScopedNSAutoreleasePool pool; |
442 #endif | 443 #endif |
443 | 444 |
444 base::Thread::Options options; | 445 base::Thread::Options options; |
445 options.message_loop_type = base::MessageLoop::TYPE_IO; | 446 options.message_loop_type = base::MessageLoop::TYPE_IO; |
446 | 447 |
447 base::Thread io_thread("rlz_unittest_io_thread"); | 448 base::Thread io_thread("rlz_unittest_io_thread"); |
448 ASSERT_TRUE(io_thread.StartWithOptions(options)); | 449 ASSERT_TRUE(io_thread.StartWithOptions(options)); |
449 | 450 |
450 scoped_refptr<net::TestURLRequestContextGetter> context = | 451 scoped_refptr<net::TestURLRequestContextGetter> context = |
451 new net::TestURLRequestContextGetter( | 452 new net::TestURLRequestContextGetter(io_thread.task_runner()); |
452 io_thread.message_loop()->task_runner()); | |
453 rlz_lib::SetURLRequestContext(context.get()); | 453 rlz_lib::SetURLRequestContext(context.get()); |
454 | 454 |
455 URLRequestRAII set_context(context.get()); | 455 URLRequestRAII set_context(context.get()); |
456 #endif | 456 #endif |
457 | 457 |
458 MachineDealCodeHelper::Clear(); | 458 MachineDealCodeHelper::Clear(); |
459 #if defined(OS_WIN) | 459 #if defined(OS_WIN) |
460 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value")); | 460 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value")); |
461 #endif | 461 #endif |
462 | 462 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 base::mac::ScopedNSAutoreleasePool pool; | 494 base::mac::ScopedNSAutoreleasePool pool; |
495 #endif | 495 #endif |
496 | 496 |
497 base::Thread::Options options; | 497 base::Thread::Options options; |
498 options.message_loop_type = base::MessageLoop::TYPE_IO; | 498 options.message_loop_type = base::MessageLoop::TYPE_IO; |
499 | 499 |
500 base::Thread io_thread("rlz_unittest_io_thread"); | 500 base::Thread io_thread("rlz_unittest_io_thread"); |
501 ASSERT_TRUE(io_thread.StartWithOptions(options)); | 501 ASSERT_TRUE(io_thread.StartWithOptions(options)); |
502 | 502 |
503 scoped_refptr<net::TestURLRequestContextGetter> context = | 503 scoped_refptr<net::TestURLRequestContextGetter> context = |
504 new net::TestURLRequestContextGetter( | 504 new net::TestURLRequestContextGetter(io_thread.task_runner()); |
505 io_thread.message_loop()->task_runner()); | |
506 rlz_lib::SetURLRequestContext(context.get()); | 505 rlz_lib::SetURLRequestContext(context.get()); |
507 | 506 |
508 URLRequestRAII set_context(context.get()); | 507 URLRequestRAII set_context(context.get()); |
509 | 508 |
510 rlz_lib::AccessPoint points[] = | 509 rlz_lib::AccessPoint points[] = |
511 {rlz_lib::IETB_SEARCH_BOX, rlz_lib::NO_ACCESS_POINT, | 510 {rlz_lib::IETB_SEARCH_BOX, rlz_lib::NO_ACCESS_POINT, |
512 rlz_lib::NO_ACCESS_POINT}; | 511 rlz_lib::NO_ACCESS_POINT}; |
513 rlz_lib::test::ResetSendFinancialPingInterrupted(); | 512 rlz_lib::test::ResetSendFinancialPingInterrupted(); |
514 EXPECT_FALSE(rlz_lib::test::WasSendFinancialPingInterrupted()); | 513 EXPECT_FALSE(rlz_lib::test::WasSendFinancialPingInterrupted()); |
515 | 514 |
516 base::MessageLoop loop; | 515 base::MessageLoop loop; |
517 loop.PostTask(FROM_HERE, base::Bind(&ResetContext)); | 516 loop.task_runner()->PostTask(FROM_HERE, base::Bind(&ResetContext)); |
518 std::string request; | 517 std::string request; |
519 EXPECT_FALSE(rlz_lib::SendFinancialPing(rlz_lib::TOOLBAR_NOTIFIER, points, | 518 EXPECT_FALSE(rlz_lib::SendFinancialPing(rlz_lib::TOOLBAR_NOTIFIER, points, |
520 "swg", "GGLA", "SwgProductId1234", "en-UK", false, | 519 "swg", "GGLA", "SwgProductId1234", "en-UK", false, |
521 /*skip_time_check=*/true)); | 520 /*skip_time_check=*/true)); |
522 | 521 |
523 EXPECT_TRUE(rlz_lib::test::WasSendFinancialPingInterrupted()); | 522 EXPECT_TRUE(rlz_lib::test::WasSendFinancialPingInterrupted()); |
524 rlz_lib::test::ResetSendFinancialPingInterrupted(); | 523 rlz_lib::test::ResetSendFinancialPingInterrupted(); |
525 } | 524 } |
526 #endif | 525 #endif |
527 | 526 |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 int mkdir_result = mkdir(rlz_lib::testing::RlzStoreFilenameStr().c_str(), | 934 int mkdir_result = mkdir(rlz_lib::testing::RlzStoreFilenameStr().c_str(), |
936 0500); | 935 0500); |
937 ASSERT_EQ(0, mkdir_result); | 936 ASSERT_EQ(0, mkdir_result); |
938 | 937 |
939 rlz_lib::SupplementaryBranding branding("TEST"); | 938 rlz_lib::SupplementaryBranding branding("TEST"); |
940 EXPECT_FALSE(rlz_lib::RecordProductEvent(rlz_lib::TOOLBAR_NOTIFIER, | 939 EXPECT_FALSE(rlz_lib::RecordProductEvent(rlz_lib::TOOLBAR_NOTIFIER, |
941 rlz_lib::IE_DEFAULT_SEARCH, rlz_lib::INSTALL)); | 940 rlz_lib::IE_DEFAULT_SEARCH, rlz_lib::INSTALL)); |
942 } | 941 } |
943 | 942 |
944 #endif | 943 #endif |
OLD | NEW |