make tests green again; closes #5861
This commit is contained in:
parent
7016a8f57d
commit
55cb959a68
4 changed files with 19 additions and 19 deletions
|
|
@ -76,10 +76,10 @@ proc `==`(a, b: StaticStr): bool =
|
||||||
return true
|
return true
|
||||||
|
|
||||||
proc `==`(a: StaticStr, b: cstring): bool =
|
proc `==`(a: StaticStr, b: cstring): bool =
|
||||||
result = c_strcmp(a.data, b) == 0
|
result = c_strcmp(unsafeAddr a.data, b) == 0
|
||||||
|
|
||||||
proc write(f: File, s: StaticStr) =
|
proc write(f: File, s: StaticStr) =
|
||||||
write(f, cstring(s.data))
|
write(f, cstring(unsafeAddr s.data))
|
||||||
|
|
||||||
proc listBreakPoints() =
|
proc listBreakPoints() =
|
||||||
write(stdout, EndbBeg)
|
write(stdout, EndbBeg)
|
||||||
|
|
@ -260,8 +260,8 @@ proc parseBreakpoint(s: cstring, start: int): Breakpoint =
|
||||||
if result.high == 0: result.high = result.low
|
if result.high == 0: result.high = result.low
|
||||||
i = scanFilename(s, dbgTemp, i)
|
i = scanFilename(s, dbgTemp, i)
|
||||||
if dbgTemp.len != 0:
|
if dbgTemp.len != 0:
|
||||||
if not hasExt(dbgTemp.data): add(dbgTemp, ".nim")
|
if not hasExt(addr dbgTemp.data): add(dbgTemp, ".nim")
|
||||||
result.filename = canonFilename(dbgTemp.data.cstring)
|
result.filename = canonFilename(addr dbgTemp.data)
|
||||||
if result.filename.isNil:
|
if result.filename.isNil:
|
||||||
debugOut("[Warning] no breakpoint could be set; unknown filename ")
|
debugOut("[Warning] no breakpoint could be set; unknown filename ")
|
||||||
return
|
return
|
||||||
|
|
@ -292,12 +292,12 @@ proc dbgEvaluate(stream: File, s: cstring, start: int, f: PFrame) =
|
||||||
i = scanAndAppendWord(s, dbgTemp, i)
|
i = scanAndAppendWord(s, dbgTemp, i)
|
||||||
for i in 0 .. getGlobalLen()-1:
|
for i in 0 .. getGlobalLen()-1:
|
||||||
let v = getGlobal(i)
|
let v = getGlobal(i)
|
||||||
if c_strcmp(v.name, dbgTemp.data) == 0:
|
if c_strcmp(v.name, addr dbgTemp.data) == 0:
|
||||||
writeVariable(stream, v)
|
writeVariable(stream, v)
|
||||||
else:
|
else:
|
||||||
for i in 0 .. f.len-1:
|
for i in 0 .. f.len-1:
|
||||||
let v = getLocal(f, i)
|
let v = getLocal(f, i)
|
||||||
if c_strcmp(v.name, dbgTemp.data) == 0:
|
if c_strcmp(v.name, addr dbgTemp.data) == 0:
|
||||||
writeVariable(stream, v)
|
writeVariable(stream, v)
|
||||||
|
|
||||||
proc dbgOut(s: cstring, start: int, currFrame: PFrame) =
|
proc dbgOut(s: cstring, start: int, currFrame: PFrame) =
|
||||||
|
|
@ -306,7 +306,7 @@ proc dbgOut(s: cstring, start: int, currFrame: PFrame) =
|
||||||
if dbgTemp.len == 0:
|
if dbgTemp.len == 0:
|
||||||
invalidCommand()
|
invalidCommand()
|
||||||
return
|
return
|
||||||
var stream = openAppend(dbgTemp.data)
|
var stream = openAppend(addr dbgTemp.data)
|
||||||
if stream == nil:
|
if stream == nil:
|
||||||
debugOut("[Warning] could not open or create file ")
|
debugOut("[Warning] could not open or create file ")
|
||||||
return
|
return
|
||||||
|
|
@ -320,7 +320,7 @@ proc dbgStackFrame(s: cstring, start: int, currFrame: PFrame) =
|
||||||
# just write it to stdout:
|
# just write it to stdout:
|
||||||
listFrame(stdout, currFrame)
|
listFrame(stdout, currFrame)
|
||||||
else:
|
else:
|
||||||
var stream = openAppend(dbgTemp.data)
|
var stream = openAppend(addr dbgTemp.data)
|
||||||
if stream == nil:
|
if stream == nil:
|
||||||
debugOut("[Warning] could not open or create file ")
|
debugOut("[Warning] could not open or create file ")
|
||||||
return
|
return
|
||||||
|
|
@ -369,7 +369,7 @@ proc commandPrompt() =
|
||||||
if not readLine(stdin, dbgUser): break
|
if not readLine(stdin, dbgUser): break
|
||||||
if dbgUser.len == 0: dbgUser.len = oldLen
|
if dbgUser.len == 0: dbgUser.len = oldLen
|
||||||
# now look what we have to do:
|
# now look what we have to do:
|
||||||
var i = scanWord(dbgUser.data, dbgTemp, 0)
|
var i = scanWord(addr dbgUser.data, dbgTemp, 0)
|
||||||
template `?`(x: expr): expr = dbgTemp == cstring(x)
|
template `?`(x: expr): expr = dbgTemp == cstring(x)
|
||||||
if ?"s" or ?"step":
|
if ?"s" or ?"step":
|
||||||
dbgState = dbStepInto
|
dbgState = dbStepInto
|
||||||
|
|
@ -400,13 +400,13 @@ proc commandPrompt() =
|
||||||
prevState = dbgState
|
prevState = dbgState
|
||||||
prevSkipFrame = dbgSkipToFrame
|
prevSkipFrame = dbgSkipToFrame
|
||||||
dbgState = dbSkipCurrent
|
dbgState = dbSkipCurrent
|
||||||
dbgEvaluate(stdout, dbgUser.data, i, dbgFramePtr)
|
dbgEvaluate(stdout, addr dbgUser.data, i, dbgFramePtr)
|
||||||
dbgState = prevState
|
dbgState = prevState
|
||||||
dbgSkipToFrame = prevSkipFrame
|
dbgSkipToFrame = prevSkipFrame
|
||||||
elif ?"o" or ?"out":
|
elif ?"o" or ?"out":
|
||||||
dbgOut(dbgUser.data, i, dbgFramePtr)
|
dbgOut(addr dbgUser.data, i, dbgFramePtr)
|
||||||
elif ?"stackframe":
|
elif ?"stackframe":
|
||||||
dbgStackFrame(dbgUser.data, i, dbgFramePtr)
|
dbgStackFrame(addr dbgUser.data, i, dbgFramePtr)
|
||||||
elif ?"w" or ?"where":
|
elif ?"w" or ?"where":
|
||||||
dbgShowExecutionPoint()
|
dbgShowExecutionPoint()
|
||||||
elif ?"l" or ?"locals":
|
elif ?"l" or ?"locals":
|
||||||
|
|
@ -444,16 +444,16 @@ proc commandPrompt() =
|
||||||
elif ?"bt" or ?"backtrace":
|
elif ?"bt" or ?"backtrace":
|
||||||
dbgWriteStackTrace(framePtr)
|
dbgWriteStackTrace(framePtr)
|
||||||
elif ?"b" or ?"break":
|
elif ?"b" or ?"break":
|
||||||
createBreakPoint(dbgUser.data, i)
|
createBreakPoint(addr dbgUser.data, i)
|
||||||
elif ?"breakpoints":
|
elif ?"breakpoints":
|
||||||
listBreakPoints()
|
listBreakPoints()
|
||||||
elif ?"toggle":
|
elif ?"toggle":
|
||||||
breakpointToggle(dbgUser.data, i)
|
breakpointToggle(addr dbgUser.data, i)
|
||||||
elif ?"filenames":
|
elif ?"filenames":
|
||||||
listFilenames()
|
listFilenames()
|
||||||
elif ?"maxdisplay":
|
elif ?"maxdisplay":
|
||||||
var parsed: int
|
var parsed: int
|
||||||
i = scanNumber(dbgUser.data, parsed, i)
|
i = scanNumber(addr dbgUser.data, parsed, i)
|
||||||
if dbgUser.data[i-1] in {'0'..'9'}:
|
if dbgUser.data[i-1] in {'0'..'9'}:
|
||||||
if parsed == 0: maxDisplayRecDepth = -1
|
if parsed == 0: maxDisplayRecDepth = -1
|
||||||
else: maxDisplayRecDepth = parsed
|
else: maxDisplayRecDepth = parsed
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ proc launchSwarm(name: ptr SockAddr) {.async.} =
|
||||||
16384, cast[ptr SockAddr](addr saddr),
|
16384, cast[ptr SockAddr](addr saddr),
|
||||||
addr slen)
|
addr slen)
|
||||||
size = 0
|
size = 0
|
||||||
var grammString = $buffer.cstring
|
var grammString = $cstring(addr buffer)
|
||||||
if grammString == message:
|
if grammString == message:
|
||||||
saveSendingPort(sockport)
|
saveSendingPort(sockport)
|
||||||
inc(recvCount)
|
inc(recvCount)
|
||||||
|
|
@ -84,7 +84,7 @@ proc readMessages(server: AsyncFD) {.async.} =
|
||||||
16384, cast[ptr SockAddr](addr(saddr)),
|
16384, cast[ptr SockAddr](addr(saddr)),
|
||||||
addr(slen))
|
addr(slen))
|
||||||
size = 0
|
size = 0
|
||||||
var grammString = $buffer.cstring
|
var grammString = $cstring(addr buffer)
|
||||||
if grammString.startswith("Message ") and
|
if grammString.startswith("Message ") and
|
||||||
saddr.sin_addr.s_addr == 0x100007F:
|
saddr.sin_addr.s_addr == 0x100007F:
|
||||||
await sendTo(server, addr grammString[0], len(grammString),
|
await sendTo(server, addr grammString[0], len(grammString),
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ proc c_sprintf(buf, fmt: cstring) {.importc:"sprintf", header: "<stdio.h>", vara
|
||||||
|
|
||||||
proc floatToStr(f: float64): string =
|
proc floatToStr(f: float64): string =
|
||||||
var buffer: array[128, char]
|
var buffer: array[128, char]
|
||||||
c_sprintf(buffer, "%.16e", f)
|
c_sprintf(addr buffer, "%.16e", f)
|
||||||
result = ""
|
result = ""
|
||||||
for ch in buffer:
|
for ch in buffer:
|
||||||
if ch == '\0':
|
if ch == '\0':
|
||||||
|
|
|
||||||
|
|
@ -50,4 +50,4 @@ import strutils
|
||||||
|
|
||||||
let arr = ['H','e','l','l','o',' ','W','o','r','l','d','!','\0']
|
let arr = ['H','e','l','l','o',' ','W','o','r','l','d','!','\0']
|
||||||
doAssert $arr == "[H, e, l, l, o, , W, o, r, l, d, !, \0]"
|
doAssert $arr == "[H, e, l, l, o, , W, o, r, l, d, !, \0]"
|
||||||
doAssert $arr.cstring == "Hello World!"
|
doAssert $cstring(unsafeAddr arr) == "Hello World!"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue