fix #12130 ; improve naming scheme in fakePackageName (#12149)

* fix #12130 ; improve naming scheme in fakePackageName

* fix tests
This commit is contained in:
Andreas Rumpf
2019-09-08 20:33:18 +02:00
committed by GitHub
2 changed files with 4 additions and 7 deletions

View File

@@ -39,13 +39,11 @@ proc getPackageName*(conf: ConfigRef; path: string): string =
if parents <= 0: break
proc fakePackageName*(conf: ConfigRef; path: AbsoluteFile): string =
# foo/../bar becomes foo7_7bar
result = relativeTo(path, conf.projectPath, '/').string.multiReplace(
{"/": "7", "..": "_", "7": "77", "_": "__", ":": "8", "8": "88"})
# foo/../bar becomes foo@..@bar
result = relativeTo(path, conf.projectPath, '/').string.multiReplace({"/": "@", "@": "@@"})
proc demanglePackageName*(path: string): string =
result = path.multiReplace(
{"88": "8", "8": ":", "77": "7", "__": "_", "_7": "../", "7": "/"})
result = path.multiReplace({"@@": "@", "@": "/"})
proc withPackageName*(conf: ConfigRef; path: AbsoluteFile): AbsoluteFile =
let x = getPackageName(conf, path.string)

View File

@@ -332,8 +332,7 @@ proc generatedFile(test: TTest, target: TTarget): string =
else:
let (_, name, _) = test.name.splitFile
let ext = targetToExt[target]
result = nimcacheDir(test.name, test.options, target) /
name.replace("_", "__").changeFileExt(ext)
result = nimcacheDir(test.name, test.options, target) / name.changeFileExt(ext)
proc needsCodegenCheck(spec: TSpec): bool =
result = spec.maxCodeSize > 0 or spec.ccodeCheck.len > 0