diff options
Diffstat (limited to 'tests/test_errors.py')
-rw-r--r-- | tests/test_errors.py | 153 |
1 files changed, 64 insertions, 89 deletions
diff --git a/tests/test_errors.py b/tests/test_errors.py index 7d6e0d2..5fd7c46 100644 --- a/tests/test_errors.py +++ b/tests/test_errors.py @@ -1,91 +1,66 @@ -import test_appliance -import test_emitter - -import StringIO - -from yaml import * - -class TestErrors(test_appliance.TestAppliance): - - def _testLoaderErrors(self, test_name, invalid_filename): - #self._load(invalid_filename) - self.failUnlessRaises(YAMLError, lambda: self._load(invalid_filename)) - - def _testLoaderStringErrors(self, test_name, invalid_filename): - #self._load_string(invalid_filename) - self.failUnlessRaises(YAMLError, lambda: self._load_string(invalid_filename)) - - def _testLoaderSingleErrors(self, test_name, invalid_filename): - #self._load_single(invalid_filename) - self.failUnlessRaises(YAMLError, lambda: self._load_single(invalid_filename)) - - def _testEmitterErrors(self, test_name, invalid_filename): - events = list(load(file(invalid_filename, 'rb').read(), - Loader=test_emitter.EventsLoader)) - self.failUnlessRaises(YAMLError, lambda: self._emit(events)) - - def _testDumperErrors(self, test_name, invalid_filename): - code = file(invalid_filename, 'rb').read() - self.failUnlessRaises(YAMLError, lambda: self._dump(code)) - - def _dump(self, code): - try: - exec code - except YAMLError, exc: - #print '.'*70 - #print "%s:" % exc.__class__.__name__, exc - raise - - def _emit(self, events): - try: - emit(events) - except YAMLError, exc: - #print '.'*70 - #print "%s:" % exc.__class__.__name__, exc - raise - - def _load(self, filename): - try: - return list(load_all(file(filename, 'rb'))) - except YAMLError, exc: - #except ScannerError, exc: - #except ParserError, exc: - #except ComposerError, exc: - #except ConstructorError, exc: - #print '.'*70 - #print "%s:" % exc.__class__.__name__, exc - raise - - def _load_string(self, filename): - try: - return list(load_all(file(filename, 'rb').read())) - except YAMLError, exc: - #except ScannerError, exc: - #except ParserError, exc: - #except ComposerError, exc: - #except ConstructorError, exc: - #print '.'*70 - #print "%s:" % filename - #print "%s:" % exc.__class__.__name__, exc - raise - - def _load_single(self, filename): - try: - return load(file(filename, 'rb').read()) - except YAMLError, exc: - #except ScannerError, exc: - #except ParserError, exc: - #except ComposerError, exc: - #except ConstructorError, exc: - #print '.'*70 - #print "%s:" % filename - #print "%s:" % exc.__class__.__name__, exc - raise - -TestErrors.add_tests('testLoaderErrors', '.loader-error') -TestErrors.add_tests('testLoaderStringErrors', '.loader-error') -TestErrors.add_tests('testLoaderSingleErrors', '.single-loader-error') -TestErrors.add_tests('testEmitterErrors', '.emitter-error') -TestErrors.add_tests('testDumperErrors', '.dumper-error') +import yaml, test_emitter + +def test_loader_error(error_filename, verbose=False): + try: + list(yaml.load_all(open(error_filename, 'rb'))) + except yaml.YAMLError, exc: + if verbose: + print "%s:" % exc.__class__.__name__, exc + else: + raise AssertionError("expected an exception") + +test_loader_error.unittest = ['.loader-error'] + +def test_loader_error_string(error_filename, verbose=False): + try: + list(yaml.load_all(open(error_filename, 'rb').read())) + except yaml.YAMLError, exc: + if verbose: + print "%s:" % exc.__class__.__name__, exc + else: + raise AssertionError("expected an exception") + +test_loader_error_string.unittest = ['.loader-error'] + +def test_loader_error_single(error_filename, verbose=False): + try: + yaml.load(open(error_filename, 'rb').read()) + except yaml.YAMLError, exc: + if verbose: + print "%s:" % exc.__class__.__name__, exc + else: + raise AssertionError("expected an exception") + +test_loader_error_single.unittest = ['.single-loader-error'] + +def test_emitter_error(error_filename, verbose=False): + events = list(yaml.load(open(error_filename, 'rb'), + Loader=test_emitter.EventsLoader)) + try: + yaml.emit(events) + except yaml.YAMLError, exc: + if verbose: + print "%s:" % exc.__class__.__name__, exc + else: + raise AssertionError("expected an exception") + +test_emitter_error.unittest = ['.emitter-error'] + +def test_dumper_error(error_filename, verbose=False): + code = open(error_filename, 'rb').read() + try: + import yaml, StringIO + exec code + except yaml.YAMLError, exc: + if verbose: + print "%s:" % exc.__class__.__name__, exc + else: + raise AssertionError("expected an exception") + +test_dumper_error.unittest = ['.dumper-error'] + +if __name__ == '__main__': + import test_appliance + test_appliance.run(globals()) |