Commit 56286543 authored by aniket-engg's avatar aniket-engg

compiler options implemented

parent 96fabf9f
...@@ -126,11 +126,11 @@ export function compileFileOrFiles(filename: string, isDirectory: boolean, opts: ...@@ -126,11 +126,11 @@ export function compileFileOrFiles(filename: string, isDirectory: boolean, opts:
async.waterfall([ async.waterfall([
function loadCompiler(next) { function loadCompiler(next) {
compiler = new RemixCompiler() compiler = new RemixCompiler()
if(compilerConfig) { const {currentCompilerUrl, evmVersion, optimize, runs} = compilerConfig
const {currentCompilerUrl, evmVersion, optimize, usingWorker} = compilerConfig evmVersion ? compiler.set('evmVersion', evmVersion) :
compiler.set('evmVersion', evmVersion) optimize ? compiler.set('optimize', optimize) :
compiler.set('optimize', optimize) runs ? compiler.set('runs', runs) :
} currentCompilerUrl ? compiler.loadVersion('false', currentCompilerUrl) :
compiler.onInternalCompilerLoaded() compiler.onInternalCompilerLoaded()
// compiler.event.register('compilerLoaded', this, function (version) { // compiler.event.register('compilerLoaded', this, function (version) {
next() next()
......
import commander from 'commander' import commander from 'commander'
import Web3 from 'web3'; import Web3 from 'web3'
import path from 'path' import path from 'path'
import axios, { AxiosResponse } from 'axios'
import { runTestFiles } from './runTestFiles' import { runTestFiles } from './runTestFiles'
import fs from './fileSystem' import fs from './fileSystem'
import { Provider } from '@remix-project/remix-simulator' import { Provider } from '@remix-project/remix-simulator'
...@@ -45,7 +46,7 @@ commander.command('help').description('output usage information').action(functio ...@@ -45,7 +46,7 @@ commander.command('help').description('output usage information').action(functio
// get current version // get current version
commander commander
.option('-c, --compiler <string>', 'set compiler version') .option('-c, --compiler <string>', 'set compiler version (e.g: 0.6.1, 0.7.1 etc)')
.option('-e, --evm <string>', 'set EVM version') .option('-e, --evm <string>', 'set EVM version')
.option('-o, --optimize <bool>', 'enable/disable optimization', mapOptimize) .option('-o, --optimize <bool>', 'enable/disable optimization', mapOptimize)
.option('-r, --runs <number>', 'set runs') .option('-r, --runs <number>', 'set runs')
...@@ -76,17 +77,32 @@ commander ...@@ -76,17 +77,32 @@ commander
log.info('verbosity level set to ' + commander.verbose.blue) log.info('verbosity level set to ' + commander.verbose.blue)
} }
const web3 = new Web3() let compilerConfig = {} as CompilerConfiguration
const provider: any = new Provider() if (commander.compiler) {
await provider.init() const compVersion = commander.compiler
web3.setProvider(provider) const baseURL = 'https://binaries.soliditylang.org/wasm/'
const response: AxiosResponse = await axios.get(baseURL + 'list.json')
const { releases, latestRelease } = response.data
const compString = releases[compVersion]
if(!compString) {
log.error(`No compiler found in releases with version ${compVersion}`)
process.exit()
} else {
log.info(`Compiler version set to ${compVersion}. Latest version is ${latestRelease}`)
compilerConfig.currentCompilerUrl = baseURL + '/' + compString
}
}
const compilerConfig = {} as CompilerConfiguration
if (commander.optimize) { if (commander.optimize) {
compilerConfig.optimize = commander.optimize compilerConfig.optimize = commander.optimize
log.info('compiler optimization set to ' + compilerConfig.optimize) log.info('compiler optimization set to ' + compilerConfig.optimize)
} }
const web3 = new Web3()
const provider: any = new Provider()
await provider.init()
web3.setProvider(provider)
runTestFiles(path.resolve(testsPath), isDirectory, web3, compilerConfig) runTestFiles(path.resolve(testsPath), isDirectory, web3, compilerConfig)
}) })
......
...@@ -23,7 +23,7 @@ describe('testRunner: remix-tests CLI', () => { ...@@ -23,7 +23,7 @@ describe('testRunner: remix-tests CLI', () => {
Options: Options:
-V, --version output the version number -V, --version output the version number
-c, --compiler <string> set compiler version -c, --compiler <string> set compiler version (e.g: 0.6.1, 0.7.1 etc)
-e, --evm <string> set EVM version -e, --evm <string> set EVM version
-o, --optimize <bool> enable/disable optimization -o, --optimize <bool> enable/disable optimization
-r, --runs <number> set runs -r, --runs <number> set runs
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment