From: why t. l. s. <yam...@wh...> - 2002-07-20 17:15:44
|
So, I lied. I said I was going to get into the testing stuff next week, but I had a bunch of ideas last night, so I jotted some new plans in Wiki. To summarize: I think I'm ready to get cracking on this. I've added all the features I really want in there. Read the changes here: http://wiki.yaml.org/yamlwiki/YamlTestingSuite A few of my small worries that perhaps some of you could help solve: - I haven't really taken libyaml into consideration. I'd like this suite to be useful to Neil. - Naming convention for the test files. I know Brian uses a numeric prefix, but I'd rather see implementation authors run the tests in the order they prefer. - YAML results from an implementation. Example: --- #YAML:1.0 test: Sequence of scalars file: spec.t success: (yes) round trip: (yes) --- test: Spanning unquoted strings file: spec.t success: (no) reason: | src/yaml.y:458:in `_parse'(YAML4R_Unit_Tests): Parse error at 'lines , like this ]' (YAML4R::Error) from src/yaml.y:170:in `parse' from /usr/local/lib/ruby/site_ruby/1.6/yaml4r.rb:261:in `load' from tests/basic.rb:24:in `assert_parse_only' from tests/basic.rb:953:in `test_spec_span_unquoted' from tests/basic.rb:1101 Pretty simple. I'd also like open either YamlTestingSuite or YamlStandardTests in the depot. Any preference on the name? _why |
From: why t. l. s. <yam...@wh...> - 2002-07-23 17:05:54
|
sh...@zi... (sh...@zi...) wrote: > Great work, Why! > > I am away from my computer for the next two days (borrowing my sister's now), so I won't be doing much on the testing suite. You might want to look at the PyYaml code, though, to find the YAML-based test there. I believe the file's called spec.yml, but I don't have access to perforce at the moment. On Monday, I pulled the spec.yml from PyYaml. I've built a file now with Python and Ruby equivalents for most of the examples. I'm hoping to put in YAML.pm tests too. A lot had to be updated, as the spec has changed slightly, so I'll likely need some help checking for tiny bugs and differences with the spec. You should see the TestingSuite checked into the depot later today. _why |
From: why t. l. s. <yam...@wh...> - 2002-07-23 19:53:03
|
Okay. The combined spec.yml is in the TestingSuite project. I got a head start on the Python stuff, but once I got into complex keys, I found that I needed to know more about Steve's implementation to continue. Plus, I am having trouble running TestYaml.py, which is supposed to validate against spec.yml. As for YAML4R, I'm currently passing 46 of 59 tests. Hopefully I can my indentation all worked out soon, as the majority are due to that. To give you an idea: only two of the tests threw a parse error. The others are just off on their spacing. Special keys aren't implemented yet, either. Here's a quick script to how to measure the results of YAML4R. You can run this right in irb: tests = YAML4R::load_document( `ruby yts.rb` ) puts "Total tests ran: #{tests.documents.length}" failed = tests.documents.delete_if { |t| t['success'] } puts "Tests failed: #{failed.length}" Or just run `ruby yts.rb` to see the raw results in the YTS results formatting. Oh, and make sure spec.yml is copied into your YamlForRuby/yts directory. _why |
From: why t. l. s. <yam...@wh...> - 2002-07-23 20:24:43
|
Steve Howell (sh...@zi...) wrote: > Can you elaborate? I'm all synced up. So I run: make clean make build sudo make install Then: python YamlTest.py I get: yaml/dumper.py:8: SyntaxWarning: local name 'occurences' in '__init__' shadows use of 'occurences' as global in nested scope 'accumulate' def __init__(self,data): yaml/dumper.py:8: SyntaxWarning: local name 'accumulate' in '__init__' shadows use of 'accumulate' as global in nested scope 'accumulate' def __init__(self,data): E.E ====================================================================== ERROR: runTest (TestYamlBasics.Test) ---------------------------------------------------------------------- Traceback (most recent call last): File "YamlTest.py", line 21, in runTest exec('self.%s()' % name) File "<string>", line 1, in ? File "TestYamlBasics.py", line 16, in test1 ['apple', 'banana', 'carrot']) File "YamlTest.py", line 24, in verify self.verifyMany(stream, [results]) File "YamlTest.py", line 27, in verifyMany results = loadHere(stream) File "YamlTest.py", line 7, in loadHere return list(yaml.load(here(stream), typeResolver)) File "yaml/loader.py", line 18, in load return iter(loadIterator(Parser(stream, typeResolver))) NameError: global name 'iter' is not defined ====================================================================== ERROR: runTest (__main__.TestFromSpec) ---------------------------------------------------------------------- Traceback (most recent call last): File "YamlTest.py", line 21, in runTest exec('self.%s()' % name) File "<string>", line 1, in ? File "YamlTest.py", line 40, in testFromYaml for doc in yaml.loadFile("spec.yml"): File "yaml/loader.py", line 7, in loadFile return load(stream) File "yaml/loader.py", line 18, in load return iter(loadIterator(Parser(stream, typeResolver))) NameError: global name 'iter' is not defined ---------------------------------------------------------------------- Ran 3 tests in 0.018s FAILED (errors=2) I'm using Python 2.1.3. Is there another version I should use.. I have 1.6, 2.0, and 2.2 available also. For FreeBSD, built from the ports. _why |