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
f7de3c1f
Commit
f7de3c1f
authored
Dec 13, 2016
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests
parent
1d92cbd8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
72 additions
and
1 deletion
+72
-1
miscLocal.js
test/solidity/contracts/miscLocal.js
+7
-0
localDecoder.js
test/solidity/localDecoder.js
+5
-1
misc2.js
test/solidity/localsTests/misc2.js
+60
-0
No files found.
test/solidity/contracts/miscLocal.js
View file @
f7de3c1f
...
@@ -29,4 +29,11 @@ contract miscLocal {
...
@@ -29,4 +29,11 @@ contract miscLocal {
bytes32 __bytes32 = hex"9999ABD41799ABD417";
bytes32 __bytes32 = hex"9999ABD41799ABD417";
}
}
}
}
contract miscLocal2 {
function miscLocal2 () {
bytes memory dynbytes = "dynamicbytes";
string memory smallstring = "test_test_test";
}
}
`
}
`
}
test/solidity/localDecoder.js
View file @
f7de3c1f
...
@@ -9,6 +9,7 @@ var Web3Providers = require('../../src/web3Provider/web3Providers')
...
@@ -9,6 +9,7 @@ var Web3Providers = require('../../src/web3Provider/web3Providers')
var
util
=
require
(
'../../src/helpers/global'
)
var
util
=
require
(
'../../src/helpers/global'
)
var
intLocalTest
=
require
(
'./localsTests/int'
)
var
intLocalTest
=
require
(
'./localsTests/int'
)
var
miscLocalTest
=
require
(
'./localsTests/misc'
)
var
miscLocalTest
=
require
(
'./localsTests/misc'
)
var
misc2LocalTest
=
require
(
'./localsTests/misc2'
)
tape
(
'solidity'
,
function
(
t
)
{
tape
(
'solidity'
,
function
(
t
)
{
t
.
test
(
'local decoder'
,
function
(
st
)
{
t
.
test
(
'local decoder'
,
function
(
st
)
{
...
@@ -47,6 +48,9 @@ function test (st, vm, privateKey) {
...
@@ -47,6 +48,9 @@ function test (st, vm, privateKey) {
var
output
=
compiler
.
compile
(
intLocal
.
contract
,
0
)
var
output
=
compiler
.
compile
(
intLocal
.
contract
,
0
)
intLocalTest
(
st
,
vm
,
privateKey
,
output
.
contracts
[
'intLocal'
].
bytecode
,
output
,
function
()
{
intLocalTest
(
st
,
vm
,
privateKey
,
output
.
contracts
[
'intLocal'
].
bytecode
,
output
,
function
()
{
output
=
compiler
.
compile
(
miscLocal
.
contract
,
0
)
output
=
compiler
.
compile
(
miscLocal
.
contract
,
0
)
miscLocalTest
(
st
,
vm
,
privateKey
,
output
.
contracts
[
'miscLocal'
].
bytecode
,
output
,
function
()
{})
miscLocalTest
(
st
,
vm
,
privateKey
,
output
.
contracts
[
'miscLocal'
].
bytecode
,
output
,
function
()
{
output
=
compiler
.
compile
(
miscLocal
.
contract
,
0
)
misc2LocalTest
(
st
,
vm
,
privateKey
,
output
.
contracts
[
'miscLocal2'
].
bytecode
,
output
,
function
()
{})
})
})
})
}
}
test/solidity/localsTests/misc2.js
0 → 100644
View file @
f7de3c1f
'use strict'
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
vmSendTx
=
require
(
'./vmCall'
)
var
traceHelper
=
require
(
'../../../src/helpers/traceHelper'
)
var
util
=
require
(
'../../../src/helpers/global'
)
var
SolidityProxy
=
require
(
'../../../src/solidity/solidityProxy'
)
var
InternalCallTree
=
require
(
'../../../src/util/internalCallTree'
)
var
EventManager
=
require
(
'../../../src/lib/eventManager'
)
var
helper
=
require
(
'./helper'
)
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmSendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
st
.
fail
(
error
)
}
else
{
util
.
web3
.
getTransaction
(
txHash
,
function
(
error
,
tx
)
{
if
(
error
)
{
st
.
fail
(
error
)
}
else
{
tx
.
to
=
traceHelper
.
contractCreationToken
(
'0'
)
var
traceManager
=
new
TraceManager
()
var
codeManager
=
new
CodeManager
(
traceManager
)
codeManager
.
clear
()
var
solidityProxy
=
new
SolidityProxy
(
traceManager
,
codeManager
)
solidityProxy
.
reset
(
compilationResult
)
var
debuggerEvent
=
new
EventManager
()
var
callTree
=
new
InternalCallTree
(
debuggerEvent
,
traceManager
,
solidityProxy
,
codeManager
,
{
includeLocalsVariables
:
true
})
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
helper
.
decodeLocals
(
st
,
82
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'dynbytes'
].
value
,
'0x64796e616d69636279746573'
)
st
.
equals
(
locals
[
'smallstring'
].
value
,
'test_test_test'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
})
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
Object
.
keys
(
locals
).
length
,
2
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
cb
()
})
})
traceManager
.
resolveTrace
(
tx
,
(
error
,
result
)
=>
{
if
(
error
)
{
st
.
fail
(
error
)
}
else
{
debuggerEvent
.
trigger
(
'newTraceLoaded'
,
[
traceManager
.
trace
])
}
})
}
})
}
})
}
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