| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
| 5 #include "sandbox/win/src/policy_engine_params.h" | 8 #include "sandbox/win/src/policy_engine_params.h" |
| 6 #include "sandbox/win/src/policy_engine_processor.h" | 9 #include "sandbox/win/src/policy_engine_processor.h" |
| 7 #include "sandbox/win/src/policy_low_level.h" | 10 #include "sandbox/win/src/policy_low_level.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 12 |
| 10 #define POLPARAMS_BEGIN(x) sandbox::ParameterSet x[] = { | 13 #define POLPARAMS_BEGIN(x) sandbox::ParameterSet x[] = { |
| 11 #define POLPARAM(p) sandbox::ParamPickerMake(p), | 14 #define POLPARAM(p) sandbox::ParamPickerMake(p), |
| 12 #define POLPARAMS_END } | 15 #define POLPARAMS_END } |
| 13 | 16 |
| 14 namespace sandbox { | 17 namespace sandbox { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 | 52 |
| 50 // The simplest test using LowLevelPolicy it should test a single opcode which | 53 // The simplest test using LowLevelPolicy it should test a single opcode which |
| 51 // does a exact string comparison. | 54 // does a exact string comparison. |
| 52 TEST(PolicyEngineTest, SimpleStrMatch) { | 55 TEST(PolicyEngineTest, SimpleStrMatch) { |
| 53 SetupNtdllImports(); | 56 SetupNtdllImports(); |
| 54 PolicyRule pr(ASK_BROKER); | 57 PolicyRule pr(ASK_BROKER); |
| 55 EXPECT_TRUE(pr.AddStringMatch(IF, 0, L"z:\\Directory\\domo.txt", | 58 EXPECT_TRUE(pr.AddStringMatch(IF, 0, L"z:\\Directory\\domo.txt", |
| 56 CASE_INSENSITIVE)); | 59 CASE_INSENSITIVE)); |
| 57 | 60 |
| 58 PolicyGlobal* policy = MakePolicyMemory(); | 61 PolicyGlobal* policy = MakePolicyMemory(); |
| 59 const uint32 kFakeService = 2; | 62 const uint32_t kFakeService = 2; |
| 60 | 63 |
| 61 LowLevelPolicy policyGen(policy); | 64 LowLevelPolicy policyGen(policy); |
| 62 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 65 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 63 EXPECT_TRUE(policyGen.Done()); | 66 EXPECT_TRUE(policyGen.Done()); |
| 64 | 67 |
| 65 const wchar_t* filename = L"Z:\\Directory\\domo.txt"; | 68 const wchar_t* filename = L"Z:\\Directory\\domo.txt"; |
| 66 | 69 |
| 67 POLPARAMS_BEGIN(eval_params) | 70 POLPARAMS_BEGIN(eval_params) |
| 68 POLPARAM(filename) // Argument 0 | 71 POLPARAM(filename) // Argument 0 |
| 69 POLPARAMS_END; | 72 POLPARAMS_END; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 82 delete [] reinterpret_cast<char*>(policy); | 85 delete [] reinterpret_cast<char*>(policy); |
| 83 } | 86 } |
| 84 | 87 |
| 85 TEST(PolicyEngineTest, SimpleIfNotStrMatch) { | 88 TEST(PolicyEngineTest, SimpleIfNotStrMatch) { |
| 86 SetupNtdllImports(); | 89 SetupNtdllImports(); |
| 87 PolicyRule pr(ASK_BROKER); | 90 PolicyRule pr(ASK_BROKER); |
| 88 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\", | 91 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\", |
| 89 CASE_SENSITIVE)); | 92 CASE_SENSITIVE)); |
| 90 | 93 |
| 91 PolicyGlobal* policy = MakePolicyMemory(); | 94 PolicyGlobal* policy = MakePolicyMemory(); |
| 92 const uint32 kFakeService = 2; | 95 const uint32_t kFakeService = 2; |
| 93 LowLevelPolicy policyGen(policy); | 96 LowLevelPolicy policyGen(policy); |
| 94 | 97 |
| 95 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 98 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 96 EXPECT_TRUE(policyGen.Done()); | 99 EXPECT_TRUE(policyGen.Done()); |
| 97 | 100 |
| 98 const wchar_t* filename = NULL; | 101 const wchar_t* filename = NULL; |
| 99 POLPARAMS_BEGIN(eval_params) | 102 POLPARAMS_BEGIN(eval_params) |
| 100 POLPARAM(filename) // Argument 0 | 103 POLPARAM(filename) // Argument 0 |
| 101 POLPARAMS_END; | 104 POLPARAMS_END; |
| 102 | 105 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 120 delete [] reinterpret_cast<char*>(policy); | 123 delete [] reinterpret_cast<char*>(policy); |
| 121 } | 124 } |
| 122 | 125 |
| 123 TEST(PolicyEngineTest, SimpleIfNotStrMatchWild1) { | 126 TEST(PolicyEngineTest, SimpleIfNotStrMatchWild1) { |
| 124 SetupNtdllImports(); | 127 SetupNtdllImports(); |
| 125 PolicyRule pr(ASK_BROKER); | 128 PolicyRule pr(ASK_BROKER); |
| 126 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*", | 129 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*", |
| 127 CASE_SENSITIVE)); | 130 CASE_SENSITIVE)); |
| 128 | 131 |
| 129 PolicyGlobal* policy = MakePolicyMemory(); | 132 PolicyGlobal* policy = MakePolicyMemory(); |
| 130 const uint32 kFakeService = 3; | 133 const uint32_t kFakeService = 3; |
| 131 LowLevelPolicy policyGen(policy); | 134 LowLevelPolicy policyGen(policy); |
| 132 | 135 |
| 133 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 136 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 134 EXPECT_TRUE(policyGen.Done()); | 137 EXPECT_TRUE(policyGen.Done()); |
| 135 | 138 |
| 136 const wchar_t* filename = NULL; | 139 const wchar_t* filename = NULL; |
| 137 POLPARAMS_BEGIN(eval_params) | 140 POLPARAMS_BEGIN(eval_params) |
| 138 POLPARAM(filename) // Argument 0 | 141 POLPARAM(filename) // Argument 0 |
| 139 POLPARAMS_END; | 142 POLPARAMS_END; |
| 140 | 143 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 153 delete [] reinterpret_cast<char*>(policy); | 156 delete [] reinterpret_cast<char*>(policy); |
| 154 } | 157 } |
| 155 | 158 |
| 156 TEST(PolicyEngineTest, SimpleIfNotStrMatchWild2) { | 159 TEST(PolicyEngineTest, SimpleIfNotStrMatchWild2) { |
| 157 SetupNtdllImports(); | 160 SetupNtdllImports(); |
| 158 PolicyRule pr(ASK_BROKER); | 161 PolicyRule pr(ASK_BROKER); |
| 159 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*.txt", | 162 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*.txt", |
| 160 CASE_SENSITIVE)); | 163 CASE_SENSITIVE)); |
| 161 | 164 |
| 162 PolicyGlobal* policy = MakePolicyMemory(); | 165 PolicyGlobal* policy = MakePolicyMemory(); |
| 163 const uint32 kFakeService = 3; | 166 const uint32_t kFakeService = 3; |
| 164 LowLevelPolicy policyGen(policy); | 167 LowLevelPolicy policyGen(policy); |
| 165 | 168 |
| 166 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 169 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 167 EXPECT_TRUE(policyGen.Done()); | 170 EXPECT_TRUE(policyGen.Done()); |
| 168 | 171 |
| 169 const wchar_t* filename = NULL; | 172 const wchar_t* filename = NULL; |
| 170 POLPARAMS_BEGIN(eval_params) | 173 POLPARAMS_BEGIN(eval_params) |
| 171 POLPARAM(filename) // Argument 0 | 174 POLPARAM(filename) // Argument 0 |
| 172 POLPARAMS_END; | 175 POLPARAMS_END; |
| 173 | 176 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 192 } | 195 } |
| 193 | 196 |
| 194 TEST(PolicyEngineTest, IfNotStrMatchTwoRulesWild1) { | 197 TEST(PolicyEngineTest, IfNotStrMatchTwoRulesWild1) { |
| 195 SetupNtdllImports(); | 198 SetupNtdllImports(); |
| 196 PolicyRule pr(ASK_BROKER); | 199 PolicyRule pr(ASK_BROKER); |
| 197 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*", | 200 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\Microsoft\\*", |
| 198 CASE_SENSITIVE)); | 201 CASE_SENSITIVE)); |
| 199 EXPECT_TRUE(pr.AddNumberMatch(IF, 1, 24, EQUAL)); | 202 EXPECT_TRUE(pr.AddNumberMatch(IF, 1, 24, EQUAL)); |
| 200 | 203 |
| 201 PolicyGlobal* policy = MakePolicyMemory(); | 204 PolicyGlobal* policy = MakePolicyMemory(); |
| 202 const uint32 kFakeService = 3; | 205 const uint32_t kFakeService = 3; |
| 203 LowLevelPolicy policyGen(policy); | 206 LowLevelPolicy policyGen(policy); |
| 204 | 207 |
| 205 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 208 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 206 EXPECT_TRUE(policyGen.Done()); | 209 EXPECT_TRUE(policyGen.Done()); |
| 207 | 210 |
| 208 const wchar_t* filename = NULL; | 211 const wchar_t* filename = NULL; |
| 209 uint32 access = 0; | 212 uint32_t access = 0; |
| 210 POLPARAMS_BEGIN(eval_params) | 213 POLPARAMS_BEGIN(eval_params) |
| 211 POLPARAM(filename) // Argument 0 | 214 POLPARAM(filename) // Argument 0 |
| 212 POLPARAM(access) // Argument 1 | 215 POLPARAM(access) // Argument 1 |
| 213 POLPARAMS_END; | 216 POLPARAMS_END; |
| 214 | 217 |
| 215 PolicyResult result; | 218 PolicyResult result; |
| 216 PolicyProcessor pol_ev(policy->entry[kFakeService]); | 219 PolicyProcessor pol_ev(policy->entry[kFakeService]); |
| 217 | 220 |
| 218 filename = L"c:\\Microsoft\\domo.txt"; | 221 filename = L"c:\\Microsoft\\domo.txt"; |
| 219 access = 24; | 222 access = 24; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 241 | 244 |
| 242 TEST(PolicyEngineTest, IfNotStrMatchTwoRulesWild2) { | 245 TEST(PolicyEngineTest, IfNotStrMatchTwoRulesWild2) { |
| 243 SetupNtdllImports(); | 246 SetupNtdllImports(); |
| 244 PolicyRule pr(ASK_BROKER); | 247 PolicyRule pr(ASK_BROKER); |
| 245 EXPECT_TRUE(pr.AddNumberMatch(IF, 1, 24, EQUAL)); | 248 EXPECT_TRUE(pr.AddNumberMatch(IF, 1, 24, EQUAL)); |
| 246 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\GoogleV?\\*.txt", | 249 EXPECT_TRUE(pr.AddStringMatch(IF_NOT, 0, L"c:\\GoogleV?\\*.txt", |
| 247 CASE_SENSITIVE)); | 250 CASE_SENSITIVE)); |
| 248 EXPECT_TRUE(pr.AddNumberMatch(IF, 2, 66, EQUAL)); | 251 EXPECT_TRUE(pr.AddNumberMatch(IF, 2, 66, EQUAL)); |
| 249 | 252 |
| 250 PolicyGlobal* policy = MakePolicyMemory(); | 253 PolicyGlobal* policy = MakePolicyMemory(); |
| 251 const uint32 kFakeService = 3; | 254 const uint32_t kFakeService = 3; |
| 252 LowLevelPolicy policyGen(policy); | 255 LowLevelPolicy policyGen(policy); |
| 253 | 256 |
| 254 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); | 257 EXPECT_TRUE(policyGen.AddRule(kFakeService, &pr)); |
| 255 EXPECT_TRUE(policyGen.Done()); | 258 EXPECT_TRUE(policyGen.Done()); |
| 256 | 259 |
| 257 const wchar_t* filename = NULL; | 260 const wchar_t* filename = NULL; |
| 258 uint32 access = 0; | 261 uint32_t access = 0; |
| 259 uint32 sharing = 66; | 262 uint32_t sharing = 66; |
| 260 | 263 |
| 261 POLPARAMS_BEGIN(eval_params) | 264 POLPARAMS_BEGIN(eval_params) |
| 262 POLPARAM(filename) // Argument 0 | 265 POLPARAM(filename) // Argument 0 |
| 263 POLPARAM(access) // Argument 1 | 266 POLPARAM(access) // Argument 1 |
| 264 POLPARAM(sharing) // Argument 2 | 267 POLPARAM(sharing) // Argument 2 |
| 265 POLPARAMS_END; | 268 POLPARAMS_END; |
| 266 | 269 |
| 267 PolicyResult result; | 270 PolicyResult result; |
| 268 PolicyProcessor pol_ev(policy->entry[kFakeService]); | 271 PolicyProcessor pol_ev(policy->entry[kFakeService]); |
| 269 | 272 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 TEST(PolicyEngineTest, OneRuleTest) { | 318 TEST(PolicyEngineTest, OneRuleTest) { |
| 316 SetupNtdllImports(); | 319 SetupNtdllImports(); |
| 317 PolicyRule pr(ASK_BROKER); | 320 PolicyRule pr(ASK_BROKER); |
| 318 EXPECT_TRUE(pr.AddStringMatch(IF, 0, L"c:\\*Microsoft*\\*.txt", | 321 EXPECT_TRUE(pr.AddStringMatch(IF, 0, L"c:\\*Microsoft*\\*.txt", |
| 319 CASE_SENSITIVE)); | 322 CASE_SENSITIVE)); |
| 320 EXPECT_TRUE(pr.AddNumberMatch(IF_NOT, 1, CREATE_ALWAYS, EQUAL)); | 323 EXPECT_TRUE(pr.AddNumberMatch(IF_NOT, 1, CREATE_ALWAYS, EQUAL)); |
| 321 EXPECT_TRUE(pr.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_NORMAL, EQUAL)); | 324 EXPECT_TRUE(pr.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_NORMAL, EQUAL)); |
| 322 | 325 |
| 323 PolicyGlobal* policy = MakePolicyMemory(); | 326 PolicyGlobal* policy = MakePolicyMemory(); |
| 324 | 327 |
| 325 const uint32 kNtFakeCreateFile = 7; | 328 const uint32_t kNtFakeCreateFile = 7; |
| 326 | 329 |
| 327 LowLevelPolicy policyGen(policy); | 330 LowLevelPolicy policyGen(policy); |
| 328 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr)); | 331 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr)); |
| 329 EXPECT_TRUE(policyGen.Done()); | 332 EXPECT_TRUE(policyGen.Done()); |
| 330 | 333 |
| 331 const wchar_t* filename = L"c:\\Documents and Settings\\Microsoft\\BLAH.txt"; | 334 const wchar_t* filename = L"c:\\Documents and Settings\\Microsoft\\BLAH.txt"; |
| 332 uint32 creation_mode = OPEN_EXISTING; | 335 uint32_t creation_mode = OPEN_EXISTING; |
| 333 uint32 flags = FILE_ATTRIBUTE_NORMAL; | 336 uint32_t flags = FILE_ATTRIBUTE_NORMAL; |
| 334 void* security_descriptor = NULL; | 337 void* security_descriptor = NULL; |
| 335 | 338 |
| 336 POLPARAMS_BEGIN(eval_params) | 339 POLPARAMS_BEGIN(eval_params) |
| 337 POLPARAM(filename) // Argument 0 | 340 POLPARAM(filename) // Argument 0 |
| 338 POLPARAM(creation_mode) // Argument 1 | 341 POLPARAM(creation_mode) // Argument 1 |
| 339 POLPARAM(flags) // Argument 2 | 342 POLPARAM(flags) // Argument 2 |
| 340 POLPARAM(security_descriptor) | 343 POLPARAM(security_descriptor) |
| 341 POLPARAMS_END; | 344 POLPARAMS_END; |
| 342 | 345 |
| 343 PolicyResult result; | 346 PolicyResult result; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 | 424 |
| 422 PolicyRule pr_none(GIVE_FIRST); | 425 PolicyRule pr_none(GIVE_FIRST); |
| 423 EXPECT_TRUE(pr_none.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_READONLY, AND)); | 426 EXPECT_TRUE(pr_none.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_READONLY, AND)); |
| 424 EXPECT_TRUE(pr_none.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_SYSTEM, AND)); | 427 EXPECT_TRUE(pr_none.AddNumberMatch(IF, 2, FILE_ATTRIBUTE_SYSTEM, AND)); |
| 425 | 428 |
| 426 size_t opc5 = pr_none.GetOpcodeCount(); | 429 size_t opc5 = pr_none.GetOpcodeCount(); |
| 427 EXPECT_EQ(2u, opc5); | 430 EXPECT_EQ(2u, opc5); |
| 428 | 431 |
| 429 PolicyGlobal* policy = MakePolicyMemory(); | 432 PolicyGlobal* policy = MakePolicyMemory(); |
| 430 | 433 |
| 431 const uint32 kNtFakeNone = 4; | 434 const uint32_t kNtFakeNone = 4; |
| 432 const uint32 kNtFakeCreateFile = 5; | 435 const uint32_t kNtFakeCreateFile = 5; |
| 433 const uint32 kNtFakeOpenFile = 6; | 436 const uint32_t kNtFakeOpenFile = 6; |
| 434 | 437 |
| 435 LowLevelPolicy policyGen(policy); | 438 LowLevelPolicy policyGen(policy); |
| 436 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_pipe)); | 439 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_pipe)); |
| 437 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_dump)); | 440 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_dump)); |
| 438 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_winexe)); | 441 EXPECT_TRUE(policyGen.AddRule(kNtFakeCreateFile, &pr_winexe)); |
| 439 | 442 |
| 440 EXPECT_TRUE(policyGen.AddRule(kNtFakeOpenFile, &pr_adobe)); | 443 EXPECT_TRUE(policyGen.AddRule(kNtFakeOpenFile, &pr_adobe)); |
| 441 EXPECT_TRUE(policyGen.AddRule(kNtFakeOpenFile, &pr_pipe)); | 444 EXPECT_TRUE(policyGen.AddRule(kNtFakeOpenFile, &pr_pipe)); |
| 442 | 445 |
| 443 EXPECT_TRUE(policyGen.AddRule(kNtFakeNone, &pr_none)); | 446 EXPECT_TRUE(policyGen.AddRule(kNtFakeNone, &pr_none)); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 policy->entry[kNtFakeCreateFile]->opcodes[0].GetID()); | 482 policy->entry[kNtFakeCreateFile]->opcodes[0].GetID()); |
| 480 EXPECT_EQ(OP_ACTION, | 483 EXPECT_EQ(OP_ACTION, |
| 481 policy->entry[kNtFakeCreateFile]->opcodes[tc2-1].GetID()); | 484 policy->entry[kNtFakeCreateFile]->opcodes[tc2-1].GetID()); |
| 482 EXPECT_EQ(OP_WSTRING_MATCH, | 485 EXPECT_EQ(OP_WSTRING_MATCH, |
| 483 policy->entry[kNtFakeOpenFile]->opcodes[0].GetID()); | 486 policy->entry[kNtFakeOpenFile]->opcodes[0].GetID()); |
| 484 EXPECT_EQ(OP_ACTION, policy->entry[kNtFakeOpenFile]->opcodes[tc3-1].GetID()); | 487 EXPECT_EQ(OP_ACTION, policy->entry[kNtFakeOpenFile]->opcodes[tc3-1].GetID()); |
| 485 | 488 |
| 486 // Test the policy evaluation. | 489 // Test the policy evaluation. |
| 487 | 490 |
| 488 const wchar_t* filename = L""; | 491 const wchar_t* filename = L""; |
| 489 uint32 creation_mode = OPEN_EXISTING; | 492 uint32_t creation_mode = OPEN_EXISTING; |
| 490 uint32 flags = FILE_ATTRIBUTE_NORMAL; | 493 uint32_t flags = FILE_ATTRIBUTE_NORMAL; |
| 491 void* security_descriptor = NULL; | 494 void* security_descriptor = NULL; |
| 492 | 495 |
| 493 POLPARAMS_BEGIN(params) | 496 POLPARAMS_BEGIN(params) |
| 494 POLPARAM(filename) // Argument 0 | 497 POLPARAM(filename) // Argument 0 |
| 495 POLPARAM(creation_mode) // Argument 1 | 498 POLPARAM(creation_mode) // Argument 1 |
| 496 POLPARAM(flags) // Argument 2 | 499 POLPARAM(flags) // Argument 2 |
| 497 POLPARAM(security_descriptor) | 500 POLPARAM(security_descriptor) |
| 498 POLPARAMS_END; | 501 POLPARAMS_END; |
| 499 | 502 |
| 500 PolicyResult result; | 503 PolicyResult result; |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 name = L"domo.txt"; | 612 name = L"domo.txt"; |
| 610 result = pol_ev_copy.Evaluate(kShortEval, eval_params, _countof(eval_params)); | 613 result = pol_ev_copy.Evaluate(kShortEval, eval_params, _countof(eval_params)); |
| 611 EXPECT_EQ(NO_POLICY_MATCH, result); | 614 EXPECT_EQ(NO_POLICY_MATCH, result); |
| 612 | 615 |
| 613 name = L"hello.bmp"; | 616 name = L"hello.bmp"; |
| 614 result = pol_ev_copy.Evaluate(kShortEval, eval_params, _countof(eval_params)); | 617 result = pol_ev_copy.Evaluate(kShortEval, eval_params, _countof(eval_params)); |
| 615 EXPECT_EQ(POLICY_MATCH, result); | 618 EXPECT_EQ(POLICY_MATCH, result); |
| 616 EXPECT_EQ(ASK_BROKER, pol_ev_copy.GetAction()); | 619 EXPECT_EQ(ASK_BROKER, pol_ev_copy.GetAction()); |
| 617 } | 620 } |
| 618 } // namespace sandbox | 621 } // namespace sandbox |
| OLD | NEW |