diff options
author | chriseth <chris@ethereum.org> | 2018-02-21 07:41:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 07:41:57 +0800 |
commit | 3076a434baccfebb1c3f35b4cb74a3283a195e26 (patch) | |
tree | 9c4bdd3627078cd6e0fa7eb505e713f7dc4cde33 /test | |
parent | 70790d4729a8cee7d587bf274ed1733b255b2120 (diff) | |
parent | e2bf5de8a278e04623c7bb34a925372039095ba7 (diff) | |
download | dexon-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.cpp | 2 | ||||
-rw-r--r-- | test/libjulia/Parser.cpp | 2 | ||||
-rw-r--r-- | test/libsolidity/InlineAssembly.cpp | 5 |
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 }")); |