58 lines
1.6 KiB
Python
Executable File
58 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"""
|
|
While unit tests are intended to be independently executable, it often
|
|
is helpful to ensure that some downstream tasks can be run with the
|
|
exact output produced by upstream tasks.
|
|
|
|
This script captures such output. It should be run whenever there is
|
|
a major change in the contract between stages
|
|
"""
|
|
|
|
import shutil, os, sys
|
|
|
|
# move up a directory
|
|
sys.path.insert(0, os.path.split(sys.path[0])[0])
|
|
os.chdir(sys.path[0])
|
|
|
|
# copy spider output to splice input
|
|
import planet
|
|
from planet import spider, config
|
|
planet.getLogger('CRITICAL',None)
|
|
|
|
config.load('tests/data/spider/config.ini')
|
|
spider.spiderPlanet()
|
|
if os.path.exists('tests/data/splice/cache'):
|
|
shutil.rmtree('tests/data/splice/cache')
|
|
shutil.move('tests/work/spider/cache', 'tests/data/splice/cache')
|
|
|
|
source=open('tests/data/spider/config.ini')
|
|
dest1=open('tests/data/splice/config.ini', 'w')
|
|
dest1.write(source.read().replace('/work/spider/', '/data/splice/'))
|
|
dest1.close()
|
|
|
|
source.seek(0)
|
|
dest2=open('tests/work/apply_config.ini', 'w')
|
|
dest2.write(source.read().replace('[Planet]', '''[Planet]
|
|
output_theme = asf
|
|
output_dir = tests/work/apply'''))
|
|
dest2.close()
|
|
source.close()
|
|
|
|
# copy splice output to apply input
|
|
from planet import splice
|
|
file=open('tests/data/apply/feed.xml', 'w')
|
|
config.load('tests/data/splice/config.ini')
|
|
data=splice.splice().toxml('utf-8')
|
|
file.write(data)
|
|
file.close()
|
|
|
|
# copy apply output to config/reading-list input
|
|
config.load('tests/work/apply_config.ini')
|
|
splice.apply(data)
|
|
shutil.move('tests/work/apply/opml.xml', 'tests/data/config')
|
|
|
|
shutil.rmtree('tests/work')
|
|
|
|
import runtests
|