|
Packit |
8ea169 |
#!/usr/bin/env python3
|
|
Packit |
8ea169 |
import os
|
|
Packit |
8ea169 |
import sys
|
|
Packit |
8ea169 |
import logging
|
|
Packit |
8ea169 |
import unittest
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
sys.path.insert(0, os.path.abspath(".."))
|
|
Packit |
8ea169 |
sys.path.insert(0, os.path.abspath("../problem/.libs")) # because of _pyabrt
|
|
Packit |
8ea169 |
os.environ["PATH"] = "{0}:{1}".format(os.path.abspath(".."), os.environ["PATH"])
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
from nose import tools
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
from base import ProblematicTestCase
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
import problem
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
class InternalProblemImplementationTestCase(ProblematicTestCase):
|
|
Packit |
8ea169 |
def test_init(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
tools.eq_(prob._proxy, self.proxy )
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_setattr(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.test = 0
|
|
Packit |
8ea169 |
tools.eq_(prob._data['test'], 0)
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob._test = 1
|
|
Packit |
8ea169 |
tools.eq_(prob._test, 1)
|
|
Packit |
8ea169 |
tools.ok_('_test' not in prob._data)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.persisted_test = 0
|
|
Packit |
8ea169 |
tools.eq_(prob._data['persisted_test'], 0)
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data['persisted_test'], 0)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_setitem(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob['test'] = 0
|
|
Packit |
8ea169 |
tools.eq_(prob._data['test'], 0)
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob['_test'] = 1
|
|
Packit |
8ea169 |
tools.ok_('_test' not in prob._data)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob['persisted_test'] = 0
|
|
Packit |
8ea169 |
tools.eq_(prob._data['persisted_test'], 0)
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data['persisted_test'], 0)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_delattr(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
del prob.reason
|
|
Packit |
8ea169 |
tools.ok_('reason' not in prob._data)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
del prob.type
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {'type': None})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_delitem(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
del prob['reason']
|
|
Packit |
8ea169 |
tools.ok_('reason' not in prob._data)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
del prob['type']
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {'type': None})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_items(self):
|
|
Packit |
8ea169 |
prob = problem.Runtime('Massive error')
|
|
Packit |
8ea169 |
tools.eq_(prob.items(), prob._data.items())
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_save(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
ident = prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
tools.eq_(prob._probdir, ident)
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_dirty_save(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
ident = prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.executable = 'nine'
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data['executable'], 'nine')
|
|
Packit |
8ea169 |
prob.save()
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def test_delete(self):
|
|
Packit |
8ea169 |
prob = self.create_problem()
|
|
Packit |
8ea169 |
prob.add_current_process_data()
|
|
Packit |
8ea169 |
ident = prob.save()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob.delete()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
tools.eq_(prob._persisted, False)
|
|
Packit |
8ea169 |
tools.eq_(prob._probdir, None)
|
|
Packit |
8ea169 |
tools.eq_(prob._dirty_data, {})
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
if __name__ == '__main__':
|
|
Packit |
8ea169 |
logging.basicConfig(level=logging.DEBUG)
|
|
Packit |
8ea169 |
unittest.main()
|