Fix an issue with generated files in test projects in the test suite
This commit is contained in:
+44
-40
@@ -8,6 +8,7 @@ import shutil
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from dummy import DummyMain
|
from dummy import DummyMain
|
||||||
|
from tools import cleanProject
|
||||||
|
|
||||||
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
|
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
|
||||||
|
|
||||||
@@ -129,21 +130,20 @@ def nwGUI(qtbot, fncDir):
|
|||||||
def nwMinimal(tmpDir):
|
def nwMinimal(tmpDir):
|
||||||
"""A minimal novelWriter example project.
|
"""A minimal novelWriter example project.
|
||||||
"""
|
"""
|
||||||
testDir = os.path.dirname(__file__)
|
tstDir = os.path.dirname(__file__)
|
||||||
minimalStore = os.path.join(testDir, "minimal")
|
srcDir = os.path.join(tstDir, "minimal")
|
||||||
minimalDir = os.path.join(tmpDir, "minimal")
|
dstDir = os.path.join(tmpDir, "minimal")
|
||||||
if os.path.isdir(minimalDir):
|
if os.path.isdir(dstDir):
|
||||||
shutil.rmtree(minimalDir)
|
shutil.rmtree(dstDir)
|
||||||
shutil.copytree(minimalStore, minimalDir)
|
|
||||||
cacheDir = os.path.join(minimalDir, "cache")
|
shutil.copytree(srcDir, dstDir)
|
||||||
if os.path.isdir(cacheDir):
|
cleanProject(dstDir)
|
||||||
shutil.rmtree(cacheDir)
|
|
||||||
metaDir = os.path.join(minimalDir, "meta")
|
yield dstDir
|
||||||
if os.path.isdir(metaDir):
|
|
||||||
shutil.rmtree(metaDir)
|
if os.path.isdir(dstDir):
|
||||||
yield minimalDir
|
shutil.rmtree(dstDir)
|
||||||
if os.path.isdir(minimalDir):
|
|
||||||
shutil.rmtree(minimalDir)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
@@ -151,34 +151,38 @@ def nwLipsum(tmpDir):
|
|||||||
"""A medium sized novelWriter example project with a lot of Lorem
|
"""A medium sized novelWriter example project with a lot of Lorem
|
||||||
Ipsum dummy text.
|
Ipsum dummy text.
|
||||||
"""
|
"""
|
||||||
testDir = os.path.dirname(__file__)
|
tstDir = os.path.dirname(__file__)
|
||||||
lipsumStore = os.path.join(testDir, "lipsum")
|
srcDir = os.path.join(tstDir, "lipsum")
|
||||||
lipsumDir = os.path.join(tmpDir, "lipsum")
|
dstDir = os.path.join(tmpDir, "lipsum")
|
||||||
if os.path.isdir(lipsumDir):
|
if os.path.isdir(dstDir):
|
||||||
shutil.rmtree(lipsumDir)
|
shutil.rmtree(dstDir)
|
||||||
shutil.copytree(lipsumStore, lipsumDir)
|
|
||||||
cacheDir = os.path.join(lipsumDir, "cache")
|
shutil.copytree(srcDir, dstDir)
|
||||||
if os.path.isdir(cacheDir):
|
cleanProject(dstDir)
|
||||||
shutil.rmtree(cacheDir)
|
|
||||||
metaDir = os.path.join(lipsumDir, "meta")
|
yield dstDir
|
||||||
if os.path.isdir(metaDir):
|
|
||||||
shutil.rmtree(metaDir)
|
if os.path.isdir(dstDir):
|
||||||
yield lipsumDir
|
shutil.rmtree(dstDir)
|
||||||
if os.path.isdir(lipsumDir):
|
|
||||||
shutil.rmtree(lipsumDir)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
def nwOldProj(tmpDir):
|
def nwOldProj(tmpDir):
|
||||||
"""A minimal movelWriter project using the old folder structure.
|
"""A minimal movelWriter project using the old folder structure used
|
||||||
|
for storage versions < 1.2.
|
||||||
"""
|
"""
|
||||||
testDir = os.path.dirname(__file__)
|
tstDir = os.path.dirname(__file__)
|
||||||
oldProjStore = os.path.join(testDir, "oldproj")
|
srcDir = os.path.join(tstDir, "oldproj")
|
||||||
oldProjDir = os.path.join(tmpDir, "oldproj")
|
dstDir = os.path.join(tmpDir, "oldproj")
|
||||||
if os.path.isdir(oldProjDir):
|
if os.path.isdir(dstDir):
|
||||||
shutil.rmtree(oldProjDir)
|
shutil.rmtree(dstDir)
|
||||||
shutil.copytree(oldProjStore, oldProjDir)
|
|
||||||
yield oldProjDir
|
shutil.copytree(srcDir, dstDir)
|
||||||
if os.path.isdir(oldProjDir):
|
|
||||||
shutil.rmtree(oldProjDir)
|
yield dstDir
|
||||||
|
|
||||||
|
if os.path.isdir(dstDir):
|
||||||
|
shutil.rmtree(dstDir)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
"""novelWriter Test Tools
|
"""novelWriter Test Tools
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from PyQt5.QtWidgets import qApp
|
from PyQt5.QtWidgets import qApp
|
||||||
@@ -82,3 +85,24 @@ def writeFile(fileName, fileData):
|
|||||||
"""
|
"""
|
||||||
with open(fileName, mode="w", encoding="utf8") as outFile:
|
with open(fileName, mode="w", encoding="utf8") as outFile:
|
||||||
outFile.write(fileData)
|
outFile.write(fileData)
|
||||||
|
|
||||||
|
def cleanProject(projPath):
|
||||||
|
"""Delete all generated files in a project.
|
||||||
|
"""
|
||||||
|
cacheDir = os.path.join(projPath, "cache")
|
||||||
|
if os.path.isdir(cacheDir):
|
||||||
|
shutil.rmtree(cacheDir)
|
||||||
|
|
||||||
|
metaDir = os.path.join(projPath, "meta")
|
||||||
|
if os.path.isdir(metaDir):
|
||||||
|
shutil.rmtree(metaDir)
|
||||||
|
|
||||||
|
bakFile = os.path.join(projPath, "nwProject.bak")
|
||||||
|
if os.path.isfile(bakFile):
|
||||||
|
os.unlink(bakFile)
|
||||||
|
|
||||||
|
tocFile = os.path.join(projPath, "ToC.txt")
|
||||||
|
if os.path.isfile(tocFile):
|
||||||
|
os.unlink(tocFile)
|
||||||
|
|
||||||
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user