Merge pull request #3726 from ethereum/syntaxTestsFilenameFix

Store filenames in static variable to guarantee sufficient lifetime.
This commit is contained in:
chriseth 2018-03-13 19:43:02 +01:00 committed by GitHub
commit 032ea9bc5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,6 +21,7 @@
#include <boost/throw_exception.hpp> #include <boost/throw_exception.hpp>
#include <cctype> #include <cctype>
#include <fstream> #include <fstream>
#include <memory>
#include <stdexcept> #include <stdexcept>
using namespace dev; using namespace dev;
@ -188,6 +189,9 @@ int SyntaxTest::registerTests(
} }
else else
{ {
static vector<unique_ptr<string>> filenames;
filenames.emplace_back(new string(_path.string()));
_suite.add(make_test_case( _suite.add(make_test_case(
[fullpath] [fullpath]
{ {
@ -196,7 +200,7 @@ int SyntaxTest::registerTests(
BOOST_ERROR("Test expectation mismatch.\n" + errorStream.str()); BOOST_ERROR("Test expectation mismatch.\n" + errorStream.str());
}, },
_path.stem().string(), _path.stem().string(),
_path.string(), *filenames.back(),
0 0
)); ));
numTestsAdded = 1; numTestsAdded = 1;