New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is the "correct" notation for nested tests? #20
Comments
IIRC, the latest release of TAP (13?) doesn't include an official description of subtests. In the old testanything.org Wiki, there were archives of conversations about it, and some proposals. You can use the Internet Archive Wayback Machine to take a look. TAP producers in some programming languages, in special Perl, implemented different notations, but as far as I know, TAP 13 didn't provide an official notation. |
@kinow according to the Internet Archive Wayback Machine (e.g. http://web.archive.org/web/20070501024548/http://testanything.org/wiki/index.php/Main_Page) the That is why I'm asking about the "current" state of affairs. What can the TAP specification site say about it today? Is the attempt to standardize the TAP protocol already dead? |
There has been some conversation in the TAP mailing list, including a thread on subtests. You can join the conversation and help us working a new version. http://www.ietf.org/mail-archive/web/tap/current/maillist.html Hope that helps :) |
@kinow from the archive it seems that current status as of 25 Oct 2014 is "we're stuck" Thank you for the link, I'll check if there is anything useful I can do for the project 😉 |
Thanks @xmojmr ! Ping me if you need anything :-) |
Sample code and documentation would be a start to progress this onwards. |
Also @kinow can help as he is also an owner of the group too now - he deserved it 😄 |
Thanks @jonathanKingston ! Will triage issues and continue to comment here. Let me know if you need help with anything in special. @xmojmr if you have time to work on this issue sometime this month drop a message here. We can hop on some IRC channel and try a few iterations until we get some draft to post here and in the mailing list :-D |
@jonathanKingston, @kinow IMO formal IETF-approved specification would be nice to have but a specification signed by a less authoritative authority would be good as well. My current competence when it comes to the TAP protocol is not anything impressive. I have implemented closed-source TAP producer in IMO the most notable deliverables composing the
@kinow I'll drop you my contact link through the e-mail |
+1
A BIG +1 for this one. Apache Jena contains parsers for SPARQL with a javacc grammar following what was specified by the W3C group. This specification includes a grammar in an EBNF notation that is easy to be adapted to different tools like yacc, javacc, antlr and even Railroad Diagram Generator (which I didn't know, thanks @xmojmr!) If you are curious about the SPARQL grammar by W3C, get it, remove the leading number (or copy this gist), paste in Railroad Diagram Generator and export the graph (example below).
+1
Another big +1 for this, but as a MUST. I like the JSON-LD Test Suite. @xmojmr we probably must move this conversation to the mailing list, or link it in some thread there, as several other members could chime in and cast their votes/opinions too. WDYT? |
@kinow 👍 ... 👍 for your comments and links. I've found (randomly) another test suite example recommended in the mailing list
As for the where should the conversation move I don't have a clear view. Involving the TAP mailing list members surely looks like way forward. As for the where should the conversation happen and where should be some beta-version-artifacts placed (https://github.com/TestAnything/Specification ❓) and how should be the project management handled, that's an unknown for me. I think that it should be clarified upfront in order to avoid another "we're stuck" and @Leont ("RFC Status?: ..I'm fine with doing the administrative parts of this") should express his opinion. So, what's the next step? |
Ok, if you have no objections then I'll drop a message in the mailing list linking to this issue. I'll check the previous threads to see if we must continue an existing one or start a new one.
I think it's a good place. We can create a document detailing the TAP 14 specification, with a grammar and basic examples. What do you think? Not sure if @jonathanKingston was thinking of putting something else there.
That sounds like a very good idea. This topic must probably be decided in the mailing list, so others will be aware of that too, and may even join and help. Once we've decided anything we can document in the web site too.
How does that sound? Can you take care of the last bullet item @xmojmr ? |
Quite frankly, I'd consider all of that nothing more than formatting. It's useful to explain our behavior to outsiders, but it would seem rather premature to get tied up to that at this stage. We don't even have a list of features that should be in TAP14 yet (other than the ones that existed in the TAP 13 draft, which isn't much more than TAP 12). |
Also, I'm not sure that is possible. The whitespace-sensitive nature of subtests as they currently exist means the grammar isn't easily describable in common grammar toolkits because it's not context free. |
I'm not sure if whitespaces would make the grammar context-sensitive neither what are the useful common grammar tools. @kinow in the light of what @Leont said I don't see the proposed next steps as clear, I agree fully only with the "ping the mailing list about this discussion" action point. Collecting requirements for the TAP 14 draft and keeping it's design goals aligned with the declared TAP Philosophy seems to me like the 1st thing that the TAP mailing list members should do. But I'm newbie in the TAP land with not enough reputation points to cast serious votes. BTW: drawing a reasonable incompatibility line between TAP 13 and TAP 14 (e.g. TAP 14 might set the spacing rule for nested tests to be fixed to This issue#20 aimed to resolve:
@kinow So, what's the next step? |
I've only written one parser for it, and in its grammar I had to cheat in context to make it work. I know it's possible to write such a parser, I'm not familiar with anything that describes them usefully. I would honestly love to be proven wrong.
Indeed. |
@kinow the https://github.com/TestAnything/Specification repo was created from the conversation based in the mailing list. It seemed a better place to work upon a draft specification. We did however have @gaurav contribute his work to the group on a draft IETF submission. I suggest to reduce the risk of this spinning into another 'we are stuck':
|
I remember trying to write a parser with Antlr some time ago... can't recall exactly why I ended up writing a regex rule parser instead for tap4j, but IIRC it was something related to recursion of some rules, plus my noobness with grammars and compilers :-) However I was trying by myself, perhaps with more heads we'll achieve something closer to a formal and machine consumable grammar - or just something useful for using as basis when writing producer/consumers. |
@jonathanKingston Agreed! After reading your comment I realized we are having this conversation in an issue on the testanything.github.io repository. I apologize, I hadn't notice we were using the website repository :-) @Leont , @xmojmr ,I'm closing this issue and have filed an issue under the Specification repository: TestAnything/Specification#2 @xmojmr :
I'm writing an e-mail right now to the mailing list ;-) Feel free to raise new issues in that repository for other things (maybe the specification process?). |
👍 thanks @kinow |
According to http://www.nntp.perl.org/group/perl.qa/2009/03/msg12165.html it seems that nested test notation similar to this:
would not be too difficult to support. But the official site linked from Wikipedia: Test Anything Protocol does not mention this as the way to go.
Is there any other notation suggested for nested tests? If not then can you add this one to the specification?
The text was updated successfully, but these errors were encountered: