mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge branch 'p2p-udp-nodetable' into p2p
Conflicts: libp2p/NodeTable.cpp
This commit is contained in:
		
						commit
						58e4829c1b
					
				| @ -740,7 +740,7 @@ | ||||
|         "transaction" : { | ||||
|             "nonce" : "0", | ||||
|             "gasPrice" : "1", | ||||
|             "gasLimit" : "365223", | ||||
|             "gasLimit" : "365243", | ||||
|             "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", | ||||
|             "value" : "100000", | ||||
|             "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", | ||||
| @ -774,7 +774,7 @@ | ||||
|         "transaction" : { | ||||
|             "nonce" : "0", | ||||
|             "gasPrice" : "1", | ||||
|             "gasLimit" : "365224", | ||||
|             "gasLimit" : "365244", | ||||
|             "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", | ||||
|             "value" : "100000", | ||||
|             "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", | ||||
|  | ||||
							
								
								
									
										65
									
								
								trie.cpp
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								trie.cpp
									
									
									
									
									
								
							| @ -50,7 +50,7 @@ static unsigned fac(unsigned _i) | ||||
| 
 | ||||
| BOOST_AUTO_TEST_SUITE(TrieTests) | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(trie_tests) | ||||
| BOOST_AUTO_TEST_CASE(trie_test_anyorder) | ||||
| { | ||||
| 	string testPath = test::getTestPath(); | ||||
| 
 | ||||
| @ -92,6 +92,69 @@ BOOST_AUTO_TEST_CASE(trie_tests) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(trie_tests_ordered) | ||||
| { | ||||
| 	string testPath = test::getTestPath(); | ||||
| 
 | ||||
| 	testPath += "/TrieTests"; | ||||
| 
 | ||||
| 	cnote << "Testing Trie..."; | ||||
| 	js::mValue v; | ||||
| 	string s = asString(contents(testPath + "/trietest.json")); | ||||
| 	BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'trietest.json' is empty. Have you cloned the 'tests' repo branch develop?"); | ||||
| 	js::read_string(s, v); | ||||
| 
 | ||||
| 	for (auto& i: v.get_obj()) | ||||
| 	{ | ||||
| 		cnote << i.first; | ||||
| 		js::mObject& o = i.second.get_obj(); | ||||
| 		vector<pair<string, string>> ss; | ||||
| 		vector<string> keysToBeDeleted; | ||||
| 		for (auto& i: o["in"].get_array()) | ||||
| 		{ | ||||
| 			vector<string> values; | ||||
| 			for (auto& s: i.get_array()) | ||||
| 			{ | ||||
| 				if (s.type() == json_spirit::str_type) | ||||
| 					values.push_back(s.get_str()); | ||||
| 				else if (s.type() == json_spirit::null_type) | ||||
| 				{ | ||||
| 					// mark entry for deletion
 | ||||
| 					values.push_back(""); | ||||
| 					if (!values[0].find("0x")) | ||||
| 						values[0] = asString(fromHex(values[0].substr(2))); | ||||
| 					keysToBeDeleted.push_back(values[0]); | ||||
| 				} | ||||
| 				else | ||||
| 					BOOST_FAIL("Bad type (expected string)"); | ||||
| 			} | ||||
| 
 | ||||
| 			BOOST_REQUIRE(values.size() == 2); | ||||
| 			ss.push_back(make_pair(values[0], values[1])); | ||||
| 			if (!ss.back().first.find("0x")) | ||||
| 				ss.back().first = asString(fromHex(ss.back().first.substr(2))); | ||||
| 			if (!ss.back().second.find("0x")) | ||||
| 				ss.back().second = asString(fromHex(ss.back().second.substr(2))); | ||||
| 		} | ||||
| 
 | ||||
| 		MemoryDB m; | ||||
| 		GenericTrieDB<MemoryDB> t(&m); | ||||
| 		t.init(); | ||||
| 		BOOST_REQUIRE(t.check(true)); | ||||
| 		for (auto const& k: ss) | ||||
| 		{ | ||||
| 			if (find(keysToBeDeleted.begin(), keysToBeDeleted.end(), k.first) != keysToBeDeleted.end() && k.second.empty()) | ||||
| 				t.remove(k.first); | ||||
| 			else | ||||
| 				t.insert(k.first, k.second); | ||||
| 			BOOST_REQUIRE(t.check(true)); | ||||
| 		} | ||||
| 
 | ||||
| 		BOOST_REQUIRE(!o["root"].is_null()); | ||||
| 		BOOST_CHECK_EQUAL(o["root"].get_str(), "0x" + toHex(t.root().asArray())); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| inline h256 stringMapHash256(StringMap const& _s) | ||||
| { | ||||
| 	return hash256(_s); | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user