Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
eb22e684
Commit
eb22e684
authored
Aug 25, 2018
by
0mkar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix import, inject remix_tests.sol, use signale for logging
parent
a7f028cf
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
43 additions
and
17 deletions
+43
-17
simple_storage2_test.sol
remix-tests/examples/simple_storage2_test.sol
+0
-2
simple_storage_test.sol
remix-tests/examples/simple_storage_test.sol
+0
-2
package.json
remix-tests/package.json
+1
-0
compiler.js
remix-tests/src/compiler.js
+12
-4
index.js
remix-tests/src/index.js
+27
-3
run.js
remix-tests/src/run.js
+3
-1
simple_storage_test.sol
remix-tests/tests/examples_1/simple_storage_test.sol
+0
-2
simple_storage_test.sol
remix-tests/tests/examples_2/simple_storage_test.sol
+0
-2
simple_string_test.sol
remix-tests/tests/examples_3/simple_string_test.sol
+0
-1
No files found.
remix-tests/examples/simple_storage2_test.sol
View file @
eb22e684
pragma solidity ^0.4.7;
pragma solidity ^0.4.7;
import "./tests.sol";
import "./simple_storage.sol";
import "./simple_storage.sol";
contract MyTest2 {
contract MyTest2 {
...
@@ -26,4 +25,3 @@ contract MyTest2 {
...
@@ -26,4 +25,3 @@ contract MyTest2 {
}
}
}
}
remix-tests/examples/simple_storage_test.sol
View file @
eb22e684
pragma solidity ^0.4.7;
pragma solidity ^0.4.7;
import "./tests.sol";
import "./simple_storage.sol";
import "./simple_storage.sol";
contract MyTest {
contract MyTest {
...
@@ -26,4 +25,3 @@ contract MyTest {
...
@@ -26,4 +25,3 @@ contract MyTest {
}
}
}
}
remix-tests/package.json
View file @
eb22e684
...
@@ -43,6 +43,7 @@
...
@@ -43,6 +43,7 @@
"commander"
:
"^2.13.0"
,
"commander"
:
"^2.13.0"
,
"remix-simulator"
:
"0.0.3"
,
"remix-simulator"
:
"0.0.3"
,
"remix-solidity"
:
"^0.2.5"
,
"remix-solidity"
:
"^0.2.5"
,
"signale"
:
"^1.2.1"
,
"solc"
:
"^0.4.24"
,
"solc"
:
"^0.4.24"
,
"standard"
:
"^10.0.3"
,
"standard"
:
"^10.0.3"
,
"web3"
:
"1.0.0-beta.27"
"web3"
:
"1.0.0-beta.27"
...
...
remix-tests/src/compiler.js
View file @
eb22e684
let
fs
=
require
(
'fs'
)
let
fs
=
require
(
'fs'
)
var
async
=
require
(
'async'
)
var
async
=
require
(
'async'
)
var
path
=
require
(
'path'
)
var
path
=
require
(
'path'
)
const
signale
=
require
(
'signale'
)
let
RemixCompiler
=
require
(
'remix-solidity'
).
Compiler
let
RemixCompiler
=
require
(
'remix-solidity'
).
Compiler
// TODO: replace this with remix's own compiler code
// TODO: replace this with remix's own compiler code
...
@@ -13,13 +13,21 @@ function compileFileOrFiles (filename, isDirectory, cb) {
...
@@ -13,13 +13,21 @@ function compileFileOrFiles (filename, isDirectory, cb) {
'tests.sol'
:
{
content
:
require
(
'../sol/tests.sol.js'
)
},
'tests.sol'
:
{
content
:
require
(
'../sol/tests.sol.js'
)
},
'remix_tests.sol'
:
{
content
:
require
(
'../sol/tests.sol.js'
)
}
'remix_tests.sol'
:
{
content
:
require
(
'../sol/tests.sol.js'
)
}
}
}
// signale.debug(sources)
// TODO: for now assumes filepath dir contains all tests, later all this
// TODO: for now assumes filepath dir contains all tests, later all this
// should be replaced with remix's & browser solidity compiler code
// should be replaced with remix's & browser solidity compiler code
filepath
=
(
isDirectory
?
filename
:
path
.
dirname
(
filename
))
filepath
=
(
isDirectory
?
filename
:
path
.
dirname
(
filename
))
fs
.
readdirSync
(
filepath
).
forEach
(
file
=>
{
fs
.
readdirSync
(
filepath
).
forEach
(
file
=>
{
sources
[
file
]
=
{
content
:
fs
.
readFileSync
(
path
.
join
(
filepath
,
file
)).
toString
()}
// only process .sol files
if
(
file
.
split
(
'.'
).
pop
()
===
'sol'
)
{
let
c
=
fs
.
readFileSync
(
path
.
join
(
filepath
,
file
)).
toString
()
if
(
file
.
indexOf
(
'_test.sol'
)
>
0
)
{
c
=
c
.
replace
(
/
(
pragma solidity
\^\d
+
\.\d
+
\.\d
+;
)
/
,
'$1
\
nimport
\'
remix_tests.sol
\'
;'
)
}
sources
[
file
]
=
{
content
:
c
}
}
})
})
async
.
waterfall
([
async
.
waterfall
([
...
@@ -39,7 +47,7 @@ function compileFileOrFiles (filename, isDirectory, cb) {
...
@@ -39,7 +47,7 @@ function compileFileOrFiles (filename, isDirectory, cb) {
],
function
(
err
,
result
)
{
],
function
(
err
,
result
)
{
let
errors
=
(
result
.
errors
||
[]).
filter
((
e
)
=>
e
.
type
===
'Error'
||
e
.
severity
===
'error'
)
let
errors
=
(
result
.
errors
||
[]).
filter
((
e
)
=>
e
.
type
===
'Error'
||
e
.
severity
===
'error'
)
if
(
errors
.
length
>
0
)
{
if
(
errors
.
length
>
0
)
{
console
.
dir
(
errors
)
signale
.
fatal
(
errors
)
return
cb
(
new
Error
(
'errors compiling'
))
return
cb
(
new
Error
(
'errors compiling'
))
}
}
cb
(
err
,
result
.
contracts
)
cb
(
err
,
result
.
contracts
)
...
@@ -70,7 +78,7 @@ function compileContractSources (sources, importFileCb, cb) {
...
@@ -70,7 +78,7 @@ function compileContractSources (sources, importFileCb, cb) {
],
function
(
err
,
result
)
{
],
function
(
err
,
result
)
{
let
errors
=
(
result
.
errors
||
[]).
filter
((
e
)
=>
e
.
type
===
'Error'
||
e
.
severity
===
'error'
)
let
errors
=
(
result
.
errors
||
[]).
filter
((
e
)
=>
e
.
type
===
'Error'
||
e
.
severity
===
'error'
)
if
(
errors
.
length
>
0
)
{
if
(
errors
.
length
>
0
)
{
console
.
dir
(
errors
)
signale
.
fatal
(
errors
)
return
cb
(
new
Error
(
'errors compiling'
))
return
cb
(
new
Error
(
'errors compiling'
))
}
}
cb
(
err
,
result
.
contracts
)
cb
(
err
,
result
.
contracts
)
...
...
remix-tests/src/index.js
View file @
eb22e684
const
async
=
require
(
'async'
)
const
async
=
require
(
'async'
)
const
path
=
require
(
'path'
)
const
path
=
require
(
'path'
)
const
fs
=
require
(
'fs'
)
const
fs
=
require
(
'fs'
)
const
{
Signale
}
=
require
(
'signale'
)
require
(
'colors'
)
require
(
'colors'
)
let
Compiler
=
require
(
'./compiler.js'
)
let
Compiler
=
require
(
'./compiler.js'
)
...
@@ -11,11 +12,34 @@ const Web3 = require('web3')
...
@@ -11,11 +12,34 @@ const Web3 = require('web3')
const
Provider
=
require
(
'remix-simulator'
).
Provider
const
Provider
=
require
(
'remix-simulator'
).
Provider
var
createWeb3Provider
=
function
()
{
var
createWeb3Provider
=
function
()
{
signale
.
info
(
'Creating providers'
)
let
web3
=
new
Web3
()
let
web3
=
new
Web3
()
web3
.
setProvider
(
new
Provider
())
web3
.
setProvider
(
new
Provider
())
return
web3
return
web3
}
}
// signale configuration
const
options
=
{
types
:
{
result
:
{
badge
:
'
\
t✓'
,
label
:
''
,
color
:
'greenBright'
},
name
:
{
badge
:
'
\
n
\
t◼'
,
label
:
''
,
color
:
'white'
},
error
:
{
badge
:
'
\
t✘'
,
label
:
''
,
color
:
'redBright'
}
}
}
const
signale
=
new
Signale
(
options
)
var
runTestSources
=
function
(
contractSources
,
testCallback
,
resultCallback
,
finalCallback
,
importFileCb
)
{
var
runTestSources
=
function
(
contractSources
,
testCallback
,
resultCallback
,
finalCallback
,
importFileCb
)
{
async
.
waterfall
([
async
.
waterfall
([
function
compile
(
next
)
{
function
compile
(
next
)
{
...
@@ -134,11 +158,11 @@ var runTestFiles = function (filepath, isDirectory, web3) {
...
@@ -134,11 +158,11 @@ var runTestFiles = function (filepath, isDirectory, web3) {
var
testCallback
=
function
(
result
)
{
var
testCallback
=
function
(
result
)
{
if
(
result
.
type
===
'contract'
)
{
if
(
result
.
type
===
'contract'
)
{
console
.
log
(
'
\
n '
+
result
.
valu
e
)
signale
.
name
(
result
.
value
.
whit
e
)
}
else
if
(
result
.
type
===
'testPass'
)
{
}
else
if
(
result
.
type
===
'testPass'
)
{
console
.
log
(
'
\
t✓ '
.
green
.
bold
+
result
.
value
.
grey
)
signale
.
result
(
result
.
value
)
}
else
if
(
result
.
type
===
'testFailure'
)
{
}
else
if
(
result
.
type
===
'testFailure'
)
{
console
.
log
(
'
\
t✘ '
.
bold
.
red
+
result
.
value
.
red
)
signale
.
result
(
result
.
value
.
red
)
errors
.
push
(
result
)
errors
.
push
(
result
)
}
}
}
}
...
...
remix-tests/src/run.js
View file @
eb22e684
...
@@ -2,6 +2,7 @@ const commander = require('commander')
...
@@ -2,6 +2,7 @@ const commander = require('commander')
const
Web3
=
require
(
'web3'
)
const
Web3
=
require
(
'web3'
)
const
RemixTests
=
require
(
'./index.js'
)
const
RemixTests
=
require
(
'./index.js'
)
const
fs
=
require
(
'fs'
)
const
fs
=
require
(
'fs'
)
const
signale
=
require
(
'signale'
)
const
Provider
=
require
(
'remix-simulator'
).
Provider
const
Provider
=
require
(
'remix-simulator'
).
Provider
...
@@ -16,7 +17,8 @@ commander.action(function (filename) {
...
@@ -16,7 +17,8 @@ commander.action(function (filename) {
})
})
if
(
!
process
.
argv
.
slice
(
2
).
length
)
{
if
(
!
process
.
argv
.
slice
(
2
).
length
)
{
console
.
log
(
'please specify filename'
)
signale
.
fatal
(
'Please specify a filename'
)
process
.
exit
()
}
}
commander
.
parse
(
process
.
argv
)
commander
.
parse
(
process
.
argv
)
remix-tests/tests/examples_1/simple_storage_test.sol
View file @
eb22e684
pragma solidity ^0.4.7;
pragma solidity ^0.4.7;
import "remix_tests.sol";
import "./simple_storage.sol";
import "./simple_storage.sol";
contract MyTest {
contract MyTest {
...
@@ -29,4 +28,3 @@ contract MyTest {
...
@@ -29,4 +28,3 @@ contract MyTest {
}
}
}
}
remix-tests/tests/examples_2/simple_storage_test.sol
View file @
eb22e684
pragma solidity ^0.4.7;
pragma solidity ^0.4.7;
import "./tests.sol";
import "./simple_storage.sol";
import "./simple_storage.sol";
contract MyTest {
contract MyTest {
...
@@ -25,4 +24,3 @@ contract MyTest {
...
@@ -25,4 +24,3 @@ contract MyTest {
}
}
}
}
remix-tests/tests/examples_3/simple_string_test.sol
View file @
eb22e684
pragma solidity ^0.4.7;
pragma solidity ^0.4.7;
import "./tests.sol";
import "./simple_string.sol";
import "./simple_string.sol";
contract StringTest {
contract StringTest {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment