ObjectCompilerTest: Replace 'optimize' setting with 'optimizationPreset'

This commit is contained in:
Kamil Śliwak 2021-04-26 22:18:52 +02:00
parent 9c6f8c011f
commit a51d72fb89
5 changed files with 19 additions and 6 deletions

View File

@ -18,6 +18,8 @@
#include <test/libyul/ObjectCompilerTest.h>
#include <test/libsolidity/util/SoltestErrors.h>
#include <libsolutil/AnsiColorized.h>
#include <libyul/AssemblyStack.h>
@ -43,7 +45,16 @@ ObjectCompilerTest::ObjectCompilerTest(string const& _filename):
TestCase(_filename)
{
m_source = m_reader.source();
m_optimize = m_reader.boolSetting("optimize", false);
m_optimisationPreset = m_reader.enumSetting<OptimisationPreset>(
"optimizationPreset",
{
{"none", OptimisationPreset::None},
{"minimal", OptimisationPreset::Minimal},
{"standard", OptimisationPreset::Standard},
{"full", OptimisationPreset::Full},
},
"minimal"
);
m_wasm = m_reader.boolSetting("wasm", false);
m_expectation = m_reader.simpleExpectations();
}
@ -53,7 +64,7 @@ TestCase::TestResult ObjectCompilerTest::run(ostream& _stream, string const& _li
AssemblyStack stack(
EVMVersion(),
m_wasm ? AssemblyStack::Language::Ewasm : AssemblyStack::Language::StrictAssembly,
m_optimize ? OptimiserSettings::full() : OptimiserSettings::minimal()
OptimiserSettings::preset(m_optimisationPreset)
);
if (!stack.parseAndAnalyze("source", m_source))
{

View File

@ -20,6 +20,8 @@
#include <test/TestCase.h>
#include <libsolidity/interface/OptimiserSettings.h>
namespace solidity::langutil
{
class Scanner;
@ -54,7 +56,7 @@ private:
static void printErrors(std::ostream& _stream, langutil::ErrorList const& _errors);
bool m_optimize = false;
frontend::OptimisationPreset m_optimisationPreset;
bool m_wasm = false;
};

View File

@ -7,7 +7,7 @@ object "t" {
}
}
// ====
// optimize: true
// optimizationPreset: full
// ----
// Assembly:
// /* "source":23:147 */

View File

@ -15,7 +15,7 @@ object "a" {
}
}
// ====
// optimize: true
// optimizationPreset: full
// ----
// Assembly:
// /* "source":48:49 */

View File

@ -5,7 +5,7 @@
sstore(add(x, 0), z)
}
// ====
// optimize: true
// optimizationPreset: full
// ----
// Assembly:
// /* "source":26:27 */