aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-02-21 07:41:57 +0800
committerGitHub <noreply@github.com>2018-02-21 07:41:57 +0800
commit3076a434baccfebb1c3f35b4cb74a3283a195e26 (patch)
tree9c4bdd3627078cd6e0fa7eb505e713f7dc4cde33 /test
parent70790d4729a8cee7d587bf274ed1733b255b2120 (diff)
parente2bf5de8a278e04623c7bb34a925372039095ba7 (diff)
downloaddexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar.gz
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar.bz2
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar.lz
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar.xz
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.tar.zst
dexon-solidity-3076a434baccfebb1c3f35b4cb74a3283a195e26.zip
Merge pull request #3554 from ethereum/reuseScannerOrNot
Expect end of string at end of top-level block for assembly parser.
Diffstat (limited to 'test')
-rw-r--r--test/libjulia/Common.cpp2
-rw-r--r--test/libjulia/Parser.cpp2
-rw-r--r--test/libsolidity/InlineAssembly.cpp5
3 files changed, 7 insertions, 2 deletions
diff --git a/test/libjulia/Common.cpp b/test/libjulia/Common.cpp
index 00336977..7053a68d 100644
--- a/test/libjulia/Common.cpp
+++ b/test/libjulia/Common.cpp
@@ -56,7 +56,7 @@ pair<shared_ptr<Block>, shared_ptr<assembly::AsmAnalysisInfo>> dev::julia::test:
ErrorList errors;
ErrorReporter errorReporter(errors);
auto scanner = make_shared<Scanner>(CharStream(_source), "");
- auto parserResult = assembly::Parser(errorReporter, flavour).parse(scanner);
+ auto parserResult = assembly::Parser(errorReporter, flavour).parse(scanner, false);
if (parserResult)
{
BOOST_REQUIRE(errorReporter.errors().empty());
diff --git a/test/libjulia/Parser.cpp b/test/libjulia/Parser.cpp
index a8a41b3c..0a2dd815 100644
--- a/test/libjulia/Parser.cpp
+++ b/test/libjulia/Parser.cpp
@@ -52,7 +52,7 @@ bool parse(string const& _source, ErrorReporter& errorReporter)
try
{
auto scanner = make_shared<Scanner>(CharStream(_source));
- auto parserResult = assembly::Parser(errorReporter, assembly::AsmFlavour::IULIA).parse(scanner);
+ auto parserResult = assembly::Parser(errorReporter, assembly::AsmFlavour::IULIA).parse(scanner, false);
if (parserResult)
{
assembly::AsmAnalysisInfo analysisInfo;
diff --git a/test/libsolidity/InlineAssembly.cpp b/test/libsolidity/InlineAssembly.cpp
index b09eb261..70620f78 100644
--- a/test/libsolidity/InlineAssembly.cpp
+++ b/test/libsolidity/InlineAssembly.cpp
@@ -168,6 +168,11 @@ BOOST_AUTO_TEST_CASE(smoke_test)
BOOST_CHECK(successParse("{ }"));
}
+BOOST_AUTO_TEST_CASE(surplus_input)
+{
+ CHECK_PARSE_ERROR("{ } { }", ParserError, "Expected token EOS");
+}
+
BOOST_AUTO_TEST_CASE(simple_instructions)
{
BOOST_CHECK(successParse("{ dup1 dup1 mul dup1 sub pop }"));