mirror of https://github.com/tLDP/python-tldp
initial commot of test_driver.py
This commit is contained in:
parent
dfc9855991
commit
fe3a0ed447
|
@ -0,0 +1,130 @@
|
||||||
|
|
||||||
|
from __future__ import absolute_import, division, print_function
|
||||||
|
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
import random
|
||||||
|
import shutil
|
||||||
|
import unittest
|
||||||
|
from cStringIO import StringIO
|
||||||
|
from argparse import Namespace
|
||||||
|
|
||||||
|
from tldp.outputs import OutputNamingConvention
|
||||||
|
from tldptesttools import TestInventoryBase
|
||||||
|
|
||||||
|
# -- Test Data
|
||||||
|
import example
|
||||||
|
|
||||||
|
# -- SUT
|
||||||
|
import tldp.config
|
||||||
|
import tldp.driver
|
||||||
|
|
||||||
|
widths = Namespace(status=20, stem=50)
|
||||||
|
|
||||||
|
|
||||||
|
class TestDriverDetail(TestInventoryBase):
|
||||||
|
|
||||||
|
def test_stale_detail_verbosity(self):
|
||||||
|
self.add_stale('Frobnitz-HOWTO', example.ex_docbook4xml)
|
||||||
|
config = Namespace(
|
||||||
|
pubdir=self.pubdir,
|
||||||
|
sourcedir=self.sourcedirs,
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
stdout = StringIO()
|
||||||
|
tldp.driver.detail(config, None, None, file=stdout)
|
||||||
|
stdout.seek(0)
|
||||||
|
self.assertTrue('newer file' in stdout.read())
|
||||||
|
|
||||||
|
def test_broken_detail_verbosity(self):
|
||||||
|
self.add_broken('Frobnitz-HOWTO', example.ex_docbook4xml)
|
||||||
|
config = Namespace(
|
||||||
|
pubdir=self.pubdir,
|
||||||
|
sourcedir=self.sourcedirs,
|
||||||
|
verbose=True,
|
||||||
|
)
|
||||||
|
stdout = StringIO()
|
||||||
|
tldp.driver.detail(config, None, None, file=stdout)
|
||||||
|
stdout.seek(0)
|
||||||
|
self.assertTrue('missing file' in stdout.read())
|
||||||
|
|
||||||
|
|
||||||
|
class TestDriverBuild(TestInventoryBase):
|
||||||
|
|
||||||
|
def test_build_linuxdoc(self):
|
||||||
|
self.add_new('Frobnitz-Linuxdoc-HOWTO', example.ex_linuxdoc)
|
||||||
|
config, args = tldp.config.collectconfiguration('ldptool', [])
|
||||||
|
config.pubdir = self.pubdir
|
||||||
|
config.sourcedir = self.sourcedirs
|
||||||
|
config.skip=[]
|
||||||
|
inv = tldp.inventory.Inventory(config.pubdir, config.sourcedir)
|
||||||
|
self.assertEquals(1, len(inv.all.keys()))
|
||||||
|
docs = inv.all.values()
|
||||||
|
tldp.driver.build(config, docs, inv)
|
||||||
|
doc = docs.pop(0)
|
||||||
|
self.assertTrue(doc.output.iscomplete)
|
||||||
|
|
||||||
|
def test_build_docbooksgml(self):
|
||||||
|
self.add_new('Frobnitz-DocBook-SGML-HOWTO', example.ex_docbooksgml)
|
||||||
|
config, args = tldp.config.collectconfiguration('ldptool', [])
|
||||||
|
config.pubdir = self.pubdir
|
||||||
|
config.sourcedir = self.sourcedirs
|
||||||
|
config.skip=['Frobnitz-DocBook-SGML-HOWTO']
|
||||||
|
inv = tldp.inventory.Inventory(config.pubdir, config.sourcedir)
|
||||||
|
self.assertEquals(1, len(inv.all.keys()))
|
||||||
|
docs = inv.all.values()
|
||||||
|
tldp.driver.build(config, docs, inv)
|
||||||
|
doc = docs.pop(0)
|
||||||
|
self.assertFalse(doc.output.iscomplete)
|
||||||
|
# -- after figuring out collateindex and friends, this should say
|
||||||
|
# self.assertTrue(doc.output.iscomplete)
|
||||||
|
|
||||||
|
def test_build_docbook4xml(self):
|
||||||
|
self.add_new('Frobnitz-DocBook-XML-4-HOWTO', example.ex_docbook4xml)
|
||||||
|
config, args = tldp.config.collectconfiguration('ldptool', [])
|
||||||
|
config.pubdir = self.pubdir
|
||||||
|
config.sourcedir = self.sourcedirs
|
||||||
|
config.skip=['Frobnitz-DocBook-XML-4-HOWTO']
|
||||||
|
inv = tldp.inventory.Inventory(config.pubdir, config.sourcedir)
|
||||||
|
self.assertEquals(1, len(inv.all.keys()))
|
||||||
|
docs = inv.all.values()
|
||||||
|
tldp.driver.build(config, docs, inv)
|
||||||
|
doc = docs.pop(0)
|
||||||
|
self.assertFalse(doc.output.iscomplete)
|
||||||
|
# -- after figuring out the XSL files at test time, this should say
|
||||||
|
# self.assertTrue(doc.output.iscomplete)
|
||||||
|
|
||||||
|
|
||||||
|
class TestDriverSummary(TestInventoryBase):
|
||||||
|
|
||||||
|
def test_summary(self):
|
||||||
|
self.add_new('Frobnitz-DocBook-XML-4-HOWTO', example.ex_docbook4xml)
|
||||||
|
config, args = tldp.config.collectconfiguration('ldptool', [])
|
||||||
|
config.pubdir = self.pubdir
|
||||||
|
config.sourcedir = self.sourcedirs
|
||||||
|
stdout = StringIO()
|
||||||
|
tldp.driver.summary(config, None, file=stdout)
|
||||||
|
stdout.seek(0)
|
||||||
|
parts = stdout.read().split()
|
||||||
|
idx = parts.index('new')
|
||||||
|
self.assertEqual(['new', '1'], parts[idx:idx+2])
|
||||||
|
|
||||||
|
|
||||||
|
class TestDriverRun(TestInventoryBase):
|
||||||
|
|
||||||
|
def test_run(self):
|
||||||
|
ex = example.ex_linuxdoc
|
||||||
|
self.add_published('Published-HOWTO', ex)
|
||||||
|
self.add_new('New-HOWTO', ex)
|
||||||
|
self.add_stale('Stale-HOWTO', ex)
|
||||||
|
self.add_orphan('Orphan-HOWTO', ex)
|
||||||
|
self.add_broken('Broken-HOWTO', ex)
|
||||||
|
argv = ['--pubdir', self.pubdir, '--sourcedir', self.sourcedir]
|
||||||
|
fullpath = os.path.join(self.tempdir, 'sources', 'Published-HOWTO')
|
||||||
|
argv.extend(['stale', 'Orphan-HOWTO', fullpath])
|
||||||
|
tldp.driver.run(argv)
|
||||||
|
inv = tldp.inventory.Inventory(self.pubdir, self.sourcedirs)
|
||||||
|
self.assertEquals(3, len(inv.published.keys()))
|
||||||
|
|
||||||
|
#
|
||||||
|
# -- end of file
|
Loading…
Reference in New Issue