mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Adjust tests.
This commit is contained in:
		
							parent
							
								
									e6d48bb72a
								
							
						
					
					
						commit
						69f5f2eb65
					
				| @ -466,7 +466,8 @@ BOOST_AUTO_TEST_CASE(for_loop) | ||||
| 	text = R"( | ||||
| 		contract C { | ||||
| 			function f(uint x) public pure { | ||||
| 				for (uint y = 2; x < 10; ) { | ||||
| 				uint y; | ||||
| 				for (y = 2; x < 10; ) { | ||||
| 					y = 3; | ||||
| 				} | ||||
| 				assert(y == 3); | ||||
| @ -477,7 +478,8 @@ BOOST_AUTO_TEST_CASE(for_loop) | ||||
| 	text = R"( | ||||
| 		contract C { | ||||
| 			function f(uint x) public pure { | ||||
| 				for (uint y = 2; x < 10; ) { | ||||
| 				uint y; | ||||
| 				for (y = 2; x < 10; ) { | ||||
| 					y = 3; | ||||
| 				} | ||||
| 				assert(y == 2); | ||||
|  | ||||
| @ -322,10 +322,10 @@ BOOST_AUTO_TEST_CASE(arithmetics) | ||||
| { | ||||
| 	char const* sourceCode = R"( | ||||
| 		contract test { | ||||
| 			function f(uint y) { var x = ((((((((y ^ 8) & 7) | 6) - 5) + 4) % 3) / 2) * 1); } | ||||
| 			function f(uint y) { ((((((((y ^ 8) & 7) | 6) - 5) + 4) % 3) / 2) * 1); } | ||||
| 		} | ||||
| 	)"; | ||||
| 	bytes code = compileFirstExpression(sourceCode, {}, {{"test", "f", "y"}, {"test", "f", "x"}}); | ||||
| 	bytes code = compileFirstExpression(sourceCode, {}, {{"test", "f", "y"}}); | ||||
| 	bytes expectation({byte(Instruction::PUSH1), 0x1, | ||||
| 					   byte(Instruction::PUSH1), 0x2, | ||||
| 					   byte(Instruction::PUSH1), 0x3, | ||||
| @ -334,7 +334,7 @@ BOOST_AUTO_TEST_CASE(arithmetics) | ||||
| 					   byte(Instruction::PUSH1), 0x6, | ||||
| 					   byte(Instruction::PUSH1), 0x7, | ||||
| 					   byte(Instruction::PUSH1), 0x8, | ||||
| 					   byte(Instruction::DUP10), | ||||
| 					   byte(Instruction::DUP9), | ||||
| 					   byte(Instruction::XOR), | ||||
| 					   byte(Instruction::AND), | ||||
| 					   byte(Instruction::OR), | ||||
| @ -364,13 +364,13 @@ BOOST_AUTO_TEST_CASE(unary_operators) | ||||
| { | ||||
| 	char const* sourceCode = R"( | ||||
| 		contract test { | ||||
| 			function f(int y) { var x = !(~+- y == 2); } | ||||
| 			function f(int y) { !(~+- y == 2); } | ||||
| 		} | ||||
| 	)"; | ||||
| 	bytes code = compileFirstExpression(sourceCode, {}, {{"test", "f", "y"}, {"test", "f", "x"}}); | ||||
| 	bytes code = compileFirstExpression(sourceCode, {}, {{"test", "f", "y"}}); | ||||
| 
 | ||||
| 	bytes expectation({byte(Instruction::PUSH1), 0x2, | ||||
| 					   byte(Instruction::DUP3), | ||||
| 					   byte(Instruction::DUP2), | ||||
| 					   byte(Instruction::PUSH1), 0x0, | ||||
| 					   byte(Instruction::SUB), | ||||
| 					   byte(Instruction::NOT), | ||||
| @ -383,7 +383,7 @@ BOOST_AUTO_TEST_CASE(unary_inc_dec) | ||||
| { | ||||
| 	char const* sourceCode = R"( | ||||
| 		contract test { | ||||
| 			function f(uint a) { var x = --a ^ (a-- ^ (++a ^ a++)); } | ||||
| 			function f(uint a) returns (uint x) { x = --a ^ (a-- ^ (++a ^ a++)); } | ||||
| 		} | ||||
| 	)"; | ||||
| 	bytes code = compileFirstExpression(sourceCode, {}, {{"test", "f", "a"}, {"test", "f", "x"}}); | ||||
| @ -426,7 +426,10 @@ BOOST_AUTO_TEST_CASE(unary_inc_dec) | ||||
| 					   byte(Instruction::POP), // second ++
 | ||||
| 					   // Stack here: a x a^(a+2)^(a+2)
 | ||||
| 					   byte(Instruction::DUP3), // will change
 | ||||
| 					   byte(Instruction::XOR)}); | ||||
| 					   byte(Instruction::XOR), | ||||
| 					   byte(Instruction::SWAP1), | ||||
| 					   byte(Instruction::POP), | ||||
| 					   byte(Instruction::DUP1)}); | ||||
| 					   // Stack here: a x a^(a+2)^(a+2)^a
 | ||||
| 	BOOST_CHECK_EQUAL_COLLECTIONS(code.begin(), code.end(), expectation.begin(), expectation.end()); | ||||
| } | ||||
|  | ||||
| @ -76,15 +76,19 @@ BOOST_AUTO_TEST_CASE(double_function_declaration) | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(double_variable_declaration) | ||||
| { | ||||
| 	char const* text = R"( | ||||
| 	string text = R"( | ||||
| 		contract test { | ||||
| 			function f() public { | ||||
| 			function f() pure public { | ||||
| 				uint256 x; | ||||
| 				if (true) { uint256 x; } | ||||
| 			} | ||||
| 		} | ||||
| 	)"; | ||||
| 	CHECK_ERROR(text, DeclarationError, "Identifier already declared."); | ||||
| 	CHECK_WARNING_ALLOW_MULTI(text, (vector<string>{ | ||||
| 		"This declaration shadows an existing declaration.", | ||||
| 		"Unused local variable", | ||||
| 		"Unused local variable" | ||||
| 	})); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(name_shadowing) | ||||
| @ -1043,7 +1047,7 @@ BOOST_AUTO_TEST_CASE(function_modifier_invocation_local_variables) | ||||
| 			modifier mod(uint a) { if (a > 0) _; } | ||||
| 		} | ||||
| 	)"; | ||||
| 	CHECK_SUCCESS(text); | ||||
| 	CHECK_ERROR(text, DeclarationError, "Undeclared identifier."); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(function_modifier_double_invocation) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user