Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-19471

TAP parser does not conform to InstantTAP website.

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Minor Minor
    • tap-plugin
    • None
    • CentOS 6

      The following TAP output works fine on http://instanttap.appspot.com/ but does not work with the current TAP parser for Jenkins. I notice that when I remove the non-OK lines, it works fine.

      ok 1 - subcmd() passes resource on to run()
      ok 2 - default options are correct
      ok 3 - passed in options are respected (violations and warnings set when passed is given)
      ok 4 - passed is off when violations and/or warnings set
      ok 5 - unknown options are fatal
      ok 6 - run() non-file, non-dir gives msg
      ok 7 - run(dir): hash empty w/ return_hash (no-git-check required)
      ok 8 - no-git-check on non-repo dir has outside repository msg
      ok 9 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied)
      ok 10 - run(file): calls _process_phrase_hash() when not doing hash and when not doing deviants
      ok 11 - run(file): does not call __process_deviant_hash() when not doing hash and when not doing deviants
      ok 12 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied)
      ok 13 - run(file): does not call _process_phrase_hash() when doing hash and when not doing deviants
      ok 14 - run(file): does not call _process_deviant_hash() when doing hash and when not doing deviants
      ok 15 - run(dir): no hash returned w/ out return_hash (no-git-check required)
      ok 16 - run(dir): calls _process_phrase_hash() when not doing hash and when not doing deviants
      ok 17 - run(dir): does not call _process_deviant_hash() when not doing hash and when not doing deviants
      ok 18 - run(dir): hash returned w/ return_hash (no-git-check required)
      ok 19 - run(dir): does not call _process_phrase_hash() when doing hash and when not doing deviants
      ok 20 - run(dir): does not call _process_deviant_hash() when doing hash and when not doing deviants
      ok 21 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied), deviants
      ok 22 - run(file): does not call _process_phrase_hash() when not doing hash and when doing deviants
      ok 23 - run(file): calls _process_deviant_hash() when not doing hash and when doing deviants
      ok 24 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied), deviants
      ok 25 - run(file): does not call _process_phrase_hash() when doing hash and when doing deviants
      ok 26 - run(file): does not call _process_deviant_hash() when doing hash and when doing deviants
      ok 27 - run(dir): no hash returned w/ out return_hash (no-git-check required), deviants
      ok 28 - run(dir): does not call _process_phrase_hash() when not doing hash and when doing deviants
      ok 29 - run(dir): calls _process_deviant_hash() when not doing hash and when doing deviants
      ok 30 - run(dir): hash returned w/ return_hash (no-git-check required), deviants
      ok 31 - run(dir): does not call _process_phrase_hash() when doing hash and when doing deviants
      ok 32 - run(dir): does not call _process_deviant_hash() when doing hash and when doing deviants
      ok 33 - _process_file() finds new phrase in a file
      ok 34 - get warnings when TPDS script is not executable
      ok 35 - no warnings when TPDS script is not executable under parse-tpds
      ok 36 - _process_file() finds new phrases via TPDS
      ok 37 - _process_file() parses source instead of output under parse-tpds
      ok 38 - _process_file() "all" includes known phrases also
      ok 39 - _process_file() file "deviants" only includes deviants (no_arg is NULL symbol)
      ok 40 - _process_file() script "deviants" only includes deviants (no-no_arg includes the data)
      ok 41 - _process_file() "all" includes known phrases also
      ok 42 - _process_file() 'passed' only incldues passed
      ok 43 - _process_file() 'warnings' only incldues warnings
      ok 44 - _process_file() 'violations' only incldues violations
      ok 45 - _process_file() 'violations' and 'warnings' only include 'violations' and 'warnings'
      ok 46 - _process_file() 'violations' and 'passed' only include 'violations' and 'passed'
      ok 47 - _process_file() 'warnings' and 'passed' only include 'warnings' and 'passed'
      ok 48 - _process_deviant_hash() all 3 phrases processed: bar
      ok 49 - _process_deviant_hash() all 3 phrases processed: baz
      ok 50 - _process_deviant_hash() all 3 phrases processed: foo
      ok 51 - _process_deviant_hash() all 3 types handled correctly: bar
      ok 52 - _process_deviant_hash() all 3 types handled correctly: baz
      ok 53 - _process_deviant_hash() all 3 types handled correctly: foo
      ok 54 - _process_deviant_hash() has warning status
      ok 55 - _process_deviant_hash() has error status
      ok 56 - _process_deviant_hash() has normal status
      ok 57 - _process_deviant_hash() one location heading for each phrase
      ok 58 - _process_deviant_hash() all 4 localtions are shown: bar
      ok 59 - _process_deviant_hash() all 4 localtions are shown: baz
      ok 60 - _process_deviant_hash() all 4 localtions are shown: foo
      ok 61 - _process_deviant_hash() all 4 localtions are shown: foo
      ok 62 - _process_phrase_hash() passes correct hash to walk_hash()
      ok 63 - _process_phrase_hash() passes correct code to walk_hash()
      ok 64 - _process_phrase_hash() passes correct options to walk_hash_output()
      ok 65 - _process_phrase_hash() passes correct options to walk_hash_output()
      ok 66 - _process_phrase_hash() passes correct boolean to walk_hash()
      ok 67 - _process_phrase_hash() calls summary function (and the data is accurately tracked)
      ok 68 - walk_hash_output() location status output: queue
      ok 69 - walk_hash_output() location status output: human
      ok 70 - walk_hash_output() location status output: machine
      ok 71 - walk_hash_output() location status output: anything besides a valid value
      ok 72 - walk_hash_output() location status output: lexicon
      ok 73 - no do_session_sanity_check does not run check
      ok 74 - explicit false do_session_sanity_check does not run check
      ok 75 - true do_session_sanity_check does run check
      ok 76 - subsequent true do_session_sanity_check does run check
         Status:  In official lexicon
         Checker: Passed
         Location:
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
      ok 77 - walk_hash_output() returns count of TPDS phrases: zero when there are no TPDS phrases
         Status:  In official lexicon
         Checker: Passed
         Location:
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
            N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
      ok 78 - walk_hash_output() returns count of TPDS phrases
      ok 79 - walk_hash_output() output and return have the correct amount of lines relative to each other
      ok 80 - phrase_info array ref is populated
      ok 81 - _walk_filter() warnings off return does not have warnings
      ok 82 - _walk_filter() warnings off output does not have warnings
      ok 83 - _walk_filter() warnings on return does have warnings
      ok 84 - _walk_filter() warnings on output does have warnings
      ok 85 - _walk_filter() violations off return does not have violations
      ok 86 - _walk_filter() violations off output does not have violations
      ok 87 - _walk_filter() verbose on return does have violations
      ok 88 - _walk_filter() violations on output does have violations
      ok 89 - _walk_filter() default indent - return
      ok 90 - _walk_filter() default indent - output
      ok 91 - _walk_filter() specific indent - return
      ok 92 - _walk_filter() specific indent - output
      ok 93 - _walk_filter() verbose off return does not have more info
      ok 94 - _walk_filter() verbose off output does not have more info
      ok 95 - _walk_filter() verbose on return does have More info
      ok 96 - _walk_filter() verbose on output does have More info
      ok 97 - get_help_text() 
      ok 98 - _is_path_in_repo() returns 1 on repo file
      ok 99 - _is_path_in_repo() returns 1 on repo dir (no slash)
      ok 100 - _is_path_in_repo() returns 1 on repo dir (w/ slash)
      ok 101 - _is_path_in_repo() returns 1 on repo symlink
      ok 102 - _is_path_in_repo() returns 1 on repo broken symlink
      ok 103 - _is_path_in_repo() false on repo non-existent path
      ok 104 - _is_path_in_repo() false on out-of-repo file
      ok 105 - _is_path_in_repo() STDERR on out-of-repo: file
      ok 106 - _is_path_in_repo() false on out-of-repo dir (no slash)
      ok 107 - _is_path_in_repo() STDERR on out-of-repo: dir
      ok 108 - _is_path_in_repo() false on out-of-repo dir (w/ slash)
      ok 109 - _is_path_in_repo() STDERR on out-of-repo: dir/
      ok 110 - _is_path_in_repo() false on out-of-repo symlink
      ok 111 - _is_path_in_repo() STDERR on out-of-repo: symlink
      ok 112 - _is_path_in_repo() false on out-of-repo broken symlink
      ok 113 - _is_path_in_repo() STDERR on out-of-repo: symlink-broken
      ok 114 - _is_path_in_repo() false on out-of-repo non-existent path
      ok 115 - _is_path_in_repo() STDERR on out-of-repo: nonexistent
      ok 116 - _is_path_in_repo() false on non-repo file
      ok 117 - _is_path_in_repo() false on non-repo dir (no slash)
      ok 118 - _is_path_in_repo() false on non-repo dir (w/ slash)
      ok 119 - _is_path_in_repo() false on non-repo symlink
      ok 120 - _is_path_in_repo() false on non-repo broken symlink
      ok 121 - _is_path_in_repo() false on non-repo non-existent path
      ok 122 - no warnings
      

          [JENKINS-19471] TAP parser does not conform to InstantTAP website.

          Hi Todd, I have released tap4j 4.0.4, but I'm not sure if I have updated the InstantTAP website. Let me update it tonight and I will update this issue with its results. Thanks!

          Bruno P. Kinoshita added a comment - Hi Todd, I have released tap4j 4.0.4, but I'm not sure if I have updated the InstantTAP website. Let me update it tonight and I will update this issue with its results. Thanks!

          A new version of InstantTAP has been released and the TAP Stream provided now results in an error as well. Even after a TAP Plan is added to the top of the stream, it still results in:

          org.tap4j.consumer.TapConsumerException: Failed to parse TAP Stream 1..122
          ok 1 - subcmd() passes resource on to run()
          ok 2 - default options are correct
          ok 3 - passed in options are respected (violations and warnings set when passed is given)
          ok 4 - passed is off when violations and/or warnings set
          ok 5 - unknown options are fatal
          ok 6 - run() non-file, non-dir gives msg
          ok 7 - run(dir): hash empty w/ return_hash (no-git-check required)
          ok 8 - no-git-check on non-repo dir has outside repository msg
          ok 9 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied)
          ok 10 - run(file): calls _process_phrase_hash() when not doing hash and when not doing deviants
          ok 11 - run(file): does not call __process_deviant_hash() when not doing hash and when not doing deviants
          ok 12 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied)
          ok 13 - run(file): does not call _process_phrase_hash() when doing hash and when not doing deviants
          ok 14 - run(file): does not call _process_deviant_hash() when doing hash and when not doing deviants
          ok 15 - run(dir): no hash returned w/ out return_hash (no-git-check required)
          ok 16 - run(dir): calls _process_phrase_hash() when not doing hash and when not doing deviants
          ok 17 - run(dir): does not call _process_deviant_hash() when not doing hash and when not doing deviants
          ok 18 - run(dir): hash returned w/ return_hash (no-git-check required)
          ok 19 - run(dir): does not call _process_phrase_hash() when doing hash and when not doing deviants
          ok 20 - run(dir): does not call _process_deviant_hash() when doing hash and when not doing deviants
          ok 21 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied), deviants
          ok 22 - run(file): does not call _process_phrase_hash() when not doing hash and when doing deviants
          ok 23 - run(file): calls _process_deviant_hash() when not doing hash and when doing deviants
          ok 24 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied), deviants
          ok 25 - run(file): does not call _process_phrase_hash() when doing hash and when doing deviants
          ok 26 - run(file): does not call _process_deviant_hash() when doing hash and when doing deviants
          ok 27 - run(dir): no hash returned w/ out return_hash (no-git-check required), deviants
          ok 28 - run(dir): does not call _process_phrase_hash() when not doing hash and when doing deviants
          ok 29 - run(dir): calls _process_deviant_hash() when not doing hash and when doing deviants
          ok 30 - run(dir): hash returned w/ return_hash (no-git-check required), deviants
          ok 31 - run(dir): does not call _process_phrase_hash() when doing hash and when doing deviants
          ok 32 - run(dir): does not call _process_deviant_hash() when doing hash and when doing deviants
          ok 33 - _process_file() finds new phrase in a file
          ok 34 - get warnings when TPDS script is not executable
          ok 35 - no warnings when TPDS script is not executable under parse-tpds
          ok 36 - _process_file() finds new phrases via TPDS
          ok 37 - _process_file() parses source instead of output under parse-tpds
          ok 38 - _process_file() "all" includes known phrases also
          ok 39 - _process_file() file "deviants" only includes deviants (no_arg is NULL symbol)
          ok 40 - _process_file() script "deviants" only includes deviants (no-no_arg includes the data)
          ok 41 - _process_file() "all" includes known phrases also
          ok 42 - _process_file() 'passed' only incldues passed
          ok 43 - _process_file() 'warnings' only incldues warnings
          ok 44 - _process_file() 'violations' only incldues violations
          ok 45 - _process_file() 'violations' and 'warnings' only include 'violations' and 'warnings'
          ok 46 - _process_file() 'violations' and 'passed' only include 'violations' and 'passed'
          ok 47 - _process_file() 'warnings' and 'passed' only include 'warnings' and 'passed'
          ok 48 - _process_deviant_hash() all 3 phrases processed: bar
          ok 49 - _process_deviant_hash() all 3 phrases processed: baz
          ok 50 - _process_deviant_hash() all 3 phrases processed: foo
          ok 51 - _process_deviant_hash() all 3 types handled correctly: bar
          ok 52 - _process_deviant_hash() all 3 types handled correctly: baz
          ok 53 - _process_deviant_hash() all 3 types handled correctly: foo
          ok 54 - _process_deviant_hash() has warning status
          ok 55 - _process_deviant_hash() has error status
          ok 56 - _process_deviant_hash() has normal status
          ok 57 - _process_deviant_hash() one location heading for each phrase
          ok 58 - _process_deviant_hash() all 4 localtions are shown: bar
          ok 59 - _process_deviant_hash() all 4 localtions are shown: baz
          ok 60 - _process_deviant_hash() all 4 localtions are shown: foo
          ok 61 - _process_deviant_hash() all 4 localtions are shown: foo
          ok 62 - _process_phrase_hash() passes correct hash to walk_hash()
          ok 63 - _process_phrase_hash() passes correct code to walk_hash()
          ok 64 - _process_phrase_hash() passes correct options to walk_hash_output()
          ok 65 - _process_phrase_hash() passes correct options to walk_hash_output()
          ok 66 - _process_phrase_hash() passes correct boolean to walk_hash()
          ok 67 - _process_phrase_hash() calls summary function (and the data is accurately tracked)
          ok 68 - walk_hash_output() location status output: queue
          ok 69 - walk_hash_output() location status output: human
          ok 70 - walk_hash_output() location status output: machine
          ok 71 - walk_hash_output() location status output: anything besides a valid value
          ok 72 - walk_hash_output() location status output: lexicon
          ok 73 - no do_session_sanity_check does not run check
          ok 74 - explicit false do_session_sanity_check does not run check
          ok 75 - true do_session_sanity_check does run check
          ok 76 - subsequent true do_session_sanity_check does run check
             Status:  In official lexicon
             Checker: Passed
             Location:
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
          ok 77 - walk_hash_output() returns count of TPDS phrases: zero when there are no TPDS phrases
             Status:  In official lexicon
             Checker: Passed
             Location:
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
                N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0
          ok 78 - walk_hash_output() returns count of TPDS phrases
          ok 79 - walk_hash_output() output and return have the correct amount of lines relative to each other
          ok 80 - phrase_info array ref is populated
          ok 81 - _walk_filter() warnings off return does not have warnings
          ok 82 - _walk_filter() warnings off output does not have warnings
          ok 83 - _walk_filter() warnings on return does have warnings
          ok 84 - _walk_filter() warnings on output does have warnings
          ok 85 - _walk_filter() violations off return does not have violations
          ok 86 - _walk_filter() violations off output does not have violations
          ok 87 - _walk_filter() verbose on return does have violations
          ok 88 - _walk_filter() violations on output does have violations
          ok 89 - _walk_filter() default indent - return
          ok 90 - _walk_filter() default indent - output
          ok 91 - _walk_filter() specific indent - return
          ok 92 - _walk_filter() specific indent - output
          ok 93 - _walk_filter() verbose off return does not have more info
          ok 94 - _walk_filter() verbose off output does not have more info
          ok 95 - _walk_filter() verbose on return does have More info
          ok 96 - _walk_filter() verbose on output does have More info
          ok 97 - get_help_text() 
          ok 98 - _is_path_in_repo() returns 1 on repo file
          ok 99 - _is_path_in_repo() returns 1 on repo dir (no slash)
          ok 100 - _is_path_in_repo() returns 1 on repo dir (w/ slash)
          ok 101 - _is_path_in_repo() returns 1 on repo symlink
          ok 102 - _is_path_in_repo() returns 1 on repo broken symlink
          ok 103 - _is_path_in_repo() false on repo non-existent path
          ok 104 - _is_path_in_repo() false on out-of-repo file
          ok 105 - _is_path_in_repo() STDERR on out-of-repo: file
          ok 106 - _is_path_in_repo() false on out-of-repo dir (no slash)
          ok 107 - _is_path_in_repo() STDERR on out-of-repo: dir
          ok 108 - _is_path_in_repo() false on out-of-repo dir (w/ slash)
          ok 109 - _is_path_in_repo() STDERR on out-of-repo: dir/
          ok 110 - _is_path_in_repo() false on out-of-repo symlink
          ok 111 - _is_path_in_repo() STDERR on out-of-repo: symlink
          ok 112 - _is_path_in_repo() false on out-of-repo broken symlink
          ok 113 - _is_path_in_repo() STDERR on out-of-repo: symlink-broken
          ok 114 - _is_path_in_repo() false on out-of-repo non-existent path
          ok 115 - _is_path_in_repo() STDERR on out-of-repo: nonexistent
          ok 116 - _is_path_in_repo() false on non-repo file
          ok 117 - _is_path_in_repo() false on non-repo dir (no slash)
          ok 118 - _is_path_in_repo() false on non-repo dir (w/ slash)
          ok 119 - _is_path_in_repo() false on non-repo symlink
          ok 120 - _is_path_in_repo() false on non-repo broken symlink
          ok 121 - _is_path_in_repo() false on non-repo non-existent path
          ok 122 - no warnings: Error parsing TAP Stream: Missing TAP Plan.
          	at org.tap4j.consumer.TapConsumerImpl.load(TapConsumerImpl.java:95)
          	at org.tap4j.instanttap.InstanttapServlet.doPost(InstanttapServlet.java:33)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
          	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
          	at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
          	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
          	at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
          	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
          	at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
          	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
          	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
          	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
          	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
          	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
          	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
          	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
          	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
          	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:257)
          	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
          	at org.mortbay.jetty.Server.handle(Server.java:326)
          	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
          	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
          	at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
          	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
          	at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146)
          	at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:442)
          	at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
          	at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
          	at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230)
          	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
          	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
          	at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
          	at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:234)
          	at java.lang.Thread.run(Thread.java:745)
          Caused by: org.tap4j.parser.ParserException: Error parsing TAP Stream: Missing TAP Plan.
          	at org.tap4j.parser.Tap13Parser.parse(Tap13Parser.java:221)
          	at org.tap4j.parser.Tap13Parser.parseTapStream(Tap13Parser.java:163)
          	at org.tap4j.consumer.TapConsumerImpl.load(TapConsumerImpl.java:93)
          	... 35 more
          Caused by: org.tap4j.parser.ParserException: Missing TAP Plan.
          	at org.tap4j.parser.Tap13Parser.onFinish(Tap13Parser.java:504)
          	at org.tap4j.parser.Tap13Parser.parse(Tap13Parser.java:219)
          	... 37 more
          

          I believe it is because the YAMLish is not enclosed in — and ...

          Bruno P. Kinoshita added a comment - A new version of InstantTAP has been released and the TAP Stream provided now results in an error as well. Even after a TAP Plan is added to the top of the stream, it still results in: org.tap4j.consumer.TapConsumerException: Failed to parse TAP Stream 1..122 ok 1 - subcmd() passes resource on to run() ok 2 - default options are correct ok 3 - passed in options are respected (violations and warnings set when passed is given) ok 4 - passed is off when violations and/or warnings set ok 5 - unknown options are fatal ok 6 - run() non-file, non-dir gives msg ok 7 - run(dir): hash empty w/ return_hash (no-git-check required) ok 8 - no-git-check on non-repo dir has outside repository msg ok 9 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied) ok 10 - run(file): calls _process_phrase_hash() when not doing hash and when not doing deviants ok 11 - run(file): does not call __process_deviant_hash() when not doing hash and when not doing deviants ok 12 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied) ok 13 - run(file): does not call _process_phrase_hash() when doing hash and when not doing deviants ok 14 - run(file): does not call _process_deviant_hash() when doing hash and when not doing deviants ok 15 - run(dir): no hash returned w/ out return_hash (no-git-check required) ok 16 - run(dir): calls _process_phrase_hash() when not doing hash and when not doing deviants ok 17 - run(dir): does not call _process_deviant_hash() when not doing hash and when not doing deviants ok 18 - run(dir): hash returned w/ return_hash (no-git-check required) ok 19 - run(dir): does not call _process_phrase_hash() when doing hash and when not doing deviants ok 20 - run(dir): does not call _process_deviant_hash() when doing hash and when not doing deviants ok 21 - run(file): no hash returned w/ out return_hash (no-git-check not required for path arg since presumably it was implied), deviants ok 22 - run(file): does not call _process_phrase_hash() when not doing hash and when doing deviants ok 23 - run(file): calls _process_deviant_hash() when not doing hash and when doing deviants ok 24 - run(file): hash returned w/ return_hash (no-git-check not required for path arg since presumably it was implied), deviants ok 25 - run(file): does not call _process_phrase_hash() when doing hash and when doing deviants ok 26 - run(file): does not call _process_deviant_hash() when doing hash and when doing deviants ok 27 - run(dir): no hash returned w/ out return_hash (no-git-check required), deviants ok 28 - run(dir): does not call _process_phrase_hash() when not doing hash and when doing deviants ok 29 - run(dir): calls _process_deviant_hash() when not doing hash and when doing deviants ok 30 - run(dir): hash returned w/ return_hash (no-git-check required), deviants ok 31 - run(dir): does not call _process_phrase_hash() when doing hash and when doing deviants ok 32 - run(dir): does not call _process_deviant_hash() when doing hash and when doing deviants ok 33 - _process_file() finds new phrase in a file ok 34 - get warnings when TPDS script is not executable ok 35 - no warnings when TPDS script is not executable under parse-tpds ok 36 - _process_file() finds new phrases via TPDS ok 37 - _process_file() parses source instead of output under parse-tpds ok 38 - _process_file() "all" includes known phrases also ok 39 - _process_file() file "deviants" only includes deviants (no_arg is NULL symbol) ok 40 - _process_file() script "deviants" only includes deviants (no-no_arg includes the data) ok 41 - _process_file() "all" includes known phrases also ok 42 - _process_file() 'passed' only incldues passed ok 43 - _process_file() 'warnings' only incldues warnings ok 44 - _process_file() 'violations' only incldues violations ok 45 - _process_file() 'violations' and 'warnings' only include 'violations' and 'warnings' ok 46 - _process_file() 'violations' and 'passed' only include 'violations' and 'passed' ok 47 - _process_file() 'warnings' and 'passed' only include 'warnings' and 'passed' ok 48 - _process_deviant_hash() all 3 phrases processed: bar ok 49 - _process_deviant_hash() all 3 phrases processed: baz ok 50 - _process_deviant_hash() all 3 phrases processed: foo ok 51 - _process_deviant_hash() all 3 types handled correctly: bar ok 52 - _process_deviant_hash() all 3 types handled correctly: baz ok 53 - _process_deviant_hash() all 3 types handled correctly: foo ok 54 - _process_deviant_hash() has warning status ok 55 - _process_deviant_hash() has error status ok 56 - _process_deviant_hash() has normal status ok 57 - _process_deviant_hash() one location heading for each phrase ok 58 - _process_deviant_hash() all 4 localtions are shown: bar ok 59 - _process_deviant_hash() all 4 localtions are shown: baz ok 60 - _process_deviant_hash() all 4 localtions are shown: foo ok 61 - _process_deviant_hash() all 4 localtions are shown: foo ok 62 - _process_phrase_hash() passes correct hash to walk_hash() ok 63 - _process_phrase_hash() passes correct code to walk_hash() ok 64 - _process_phrase_hash() passes correct options to walk_hash_output() ok 65 - _process_phrase_hash() passes correct options to walk_hash_output() ok 66 - _process_phrase_hash() passes correct boolean to walk_hash() ok 67 - _process_phrase_hash() calls summary function (and the data is accurately tracked) ok 68 - walk_hash_output() location status output: queue ok 69 - walk_hash_output() location status output: human ok 70 - walk_hash_output() location status output: machine ok 71 - walk_hash_output() location status output: anything besides a valid value ok 72 - walk_hash_output() location status output: lexicon ok 73 - no do_session_sanity_check does not run check ok 74 - explicit false do_session_sanity_check does not run check ok 75 - true do_session_sanity_check does run check ok 76 - subsequent true do_session_sanity_check does run check Status: In official lexicon Checker: Passed Location: N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 ok 77 - walk_hash_output() returns count of TPDS phrases: zero when there are no TPDS phrases Status: In official lexicon Checker: Passed Location: N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 N/A: t/Locale-Utils-Tool-Find.t line 0 offset 0 ok 78 - walk_hash_output() returns count of TPDS phrases ok 79 - walk_hash_output() output and return have the correct amount of lines relative to each other ok 80 - phrase_info array ref is populated ok 81 - _walk_filter() warnings off return does not have warnings ok 82 - _walk_filter() warnings off output does not have warnings ok 83 - _walk_filter() warnings on return does have warnings ok 84 - _walk_filter() warnings on output does have warnings ok 85 - _walk_filter() violations off return does not have violations ok 86 - _walk_filter() violations off output does not have violations ok 87 - _walk_filter() verbose on return does have violations ok 88 - _walk_filter() violations on output does have violations ok 89 - _walk_filter() default indent - return ok 90 - _walk_filter() default indent - output ok 91 - _walk_filter() specific indent - return ok 92 - _walk_filter() specific indent - output ok 93 - _walk_filter() verbose off return does not have more info ok 94 - _walk_filter() verbose off output does not have more info ok 95 - _walk_filter() verbose on return does have More info ok 96 - _walk_filter() verbose on output does have More info ok 97 - get_help_text() ok 98 - _is_path_in_repo() returns 1 on repo file ok 99 - _is_path_in_repo() returns 1 on repo dir (no slash) ok 100 - _is_path_in_repo() returns 1 on repo dir (w/ slash) ok 101 - _is_path_in_repo() returns 1 on repo symlink ok 102 - _is_path_in_repo() returns 1 on repo broken symlink ok 103 - _is_path_in_repo() false on repo non-existent path ok 104 - _is_path_in_repo() false on out-of-repo file ok 105 - _is_path_in_repo() STDERR on out-of-repo: file ok 106 - _is_path_in_repo() false on out-of-repo dir (no slash) ok 107 - _is_path_in_repo() STDERR on out-of-repo: dir ok 108 - _is_path_in_repo() false on out-of-repo dir (w/ slash) ok 109 - _is_path_in_repo() STDERR on out-of-repo: dir/ ok 110 - _is_path_in_repo() false on out-of-repo symlink ok 111 - _is_path_in_repo() STDERR on out-of-repo: symlink ok 112 - _is_path_in_repo() false on out-of-repo broken symlink ok 113 - _is_path_in_repo() STDERR on out-of-repo: symlink-broken ok 114 - _is_path_in_repo() false on out-of-repo non-existent path ok 115 - _is_path_in_repo() STDERR on out-of-repo: nonexistent ok 116 - _is_path_in_repo() false on non-repo file ok 117 - _is_path_in_repo() false on non-repo dir (no slash) ok 118 - _is_path_in_repo() false on non-repo dir (w/ slash) ok 119 - _is_path_in_repo() false on non-repo symlink ok 120 - _is_path_in_repo() false on non-repo broken symlink ok 121 - _is_path_in_repo() false on non-repo non-existent path ok 122 - no warnings: Error parsing TAP Stream: Missing TAP Plan. at org.tap4j.consumer.TapConsumerImpl.load(TapConsumerImpl.java:95) at org.tap4j.instanttap.InstanttapServlet.doPost(InstanttapServlet.java:33) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:257) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:442) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:234) at java.lang.Thread.run(Thread.java:745) Caused by: org.tap4j.parser.ParserException: Error parsing TAP Stream: Missing TAP Plan. at org.tap4j.parser.Tap13Parser.parse(Tap13Parser.java:221) at org.tap4j.parser.Tap13Parser.parseTapStream(Tap13Parser.java:163) at org.tap4j.consumer.TapConsumerImpl.load(TapConsumerImpl.java:93) ... 35 more Caused by: org.tap4j.parser.ParserException: Missing TAP Plan. at org.tap4j.parser.Tap13Parser.onFinish(Tap13Parser.java:504) at org.tap4j.parser.Tap13Parser.parse(Tap13Parser.java:219) ... 37 more I believe it is because the YAMLish is not enclosed in — and ...

          Released in 1.24

          Bruno P. Kinoshita added a comment - Released in 1.24

            kinow Bruno P. Kinoshita
            toddr Todd Rinaldo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: