Skip to content

Commit

Permalink
Merge pull request #357 from polystat/moreTestsTmp
Browse files Browse the repository at this point in the history
More tests
  • Loading branch information
dours authored Aug 1, 2022
2 parents 69f79b9 + 131bf8c commit f5588b2
Show file tree
Hide file tree
Showing 13 changed files with 75 additions and 15 deletions.
11 changes: 8 additions & 3 deletions transpiler/src/main/eo/preface/fakeclasses.eo
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,14 @@
obj.as-float
if.
dst.eq pyComplexClass
seq
stdout "converting to complex\n"
pycomplex (obj.as-float) (pyfloat 0.0)
if.
obj.x__class__.eq pyComplexClass
seq
stdout "convertingc complex to complex\n"
pycomplex (obj.xreal) (obj.ximag)
seq
stdout "converting int or float to complex\n"
pycomplex (obj.as-float) (pyfloat 0.0)
seq
stdout "Oblom\n"
(pystring "Oblom")
Expand Down
9 changes: 6 additions & 3 deletions transpiler/src/main/eo/preface/pycomplex.eo
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,16 @@
pycomplex (pyfloat 0.0) (pyfloat 0.0)
p.fst.pow (p.snd)

[x] > div
[x] > float-div
fakeclasses.convert (pycomplex xreal ximag) x > p
seq > @
if.
(fakeclasses.has-type x (fakeclasses.pyComplexClass))
return (pycomplex (pyfloat 0.0) (pyfloat 0.0))
p.fst.div (p.snd)
[]
p.fst.mul (pycomplex (x.xreal) (x.ximag.neg)) > num
((x.xreal.mul (x.xreal)).add (x.ximag.mul (x.ximag))) > denom
return (pycomplex ((num.xreal.float-div denom).result) ((num.ximag.float-div denom).result)) > @
p.fst.float-div (p.snd)

[x] > add
fakeclasses.convert (pycomplex xreal ximag) x > p
Expand Down
7 changes: 5 additions & 2 deletions transpiler/src/main/eo/preface/pyfloat.eo
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,13 @@
pyfloat (value.pow (x.value))
p.fst.pow (p.snd)

[x] > div
[x] > float-div
fakeclasses.convert (pyfloat value) x > p
seq > @
if.
(fakeclasses.has-type x (fakeclasses.pyFloatClass))
return (pyfloat (value.div (x.value)))
p.fst.div (p.snd)
p.fst.float-div (p.snd)

[x] > add
fakeclasses.convert (pyfloat value) x > p
Expand All @@ -100,6 +100,9 @@
pyfloat (value.minus (x.value))
p.fst.sub (p.snd)

[] > neg
pyfloat (value.neg) > @

[] > as-float
pyfloat value > @

Expand Down
2 changes: 1 addition & 1 deletion transpiler/src/main/eo/preface/pyint.eo
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
stdout "division by zero\n"
(goto (xZeroDivisionError.apply.@)).result
(return (pyfloat (value.as-float.div (x.value.as-float))))
p.fst.div (p.snd)
p.fst.float-div (p.snd)

[x] > mod
fakeclasses.convert (pyint value) x > p
Expand Down
13 changes: 13 additions & 0 deletions transpiler/src/main/eo/preface/xAssertionError.eo
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
+package preface
+alias pyint preface.pyint
+alias return preface.return
+alias cage org.eolang.cage

[] > xAssertionError
pyint 14 > x__id__
[] > apply
[stackUp] > @
cage result > pResult
[] > result
xAssertionError > x__class__
stackUp.forward (return pResult) > @
13 changes: 13 additions & 0 deletions transpiler/src/main/eo/preface/xValueError.eo
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
+package preface
+alias pyint preface.pyint
+alias return preface.return
+alias cage org.eolang.cage

[] > xValueError
pyint 15 > x__id__
[] > apply
[stackUp] > @
cage result > pResult
[] > result
xValueError > x__class__
stackUp.forward (return pResult) > @
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ object PrintLinearizedMutableEOWithCage {
"+alias xStopIteration preface.xStopIteration",
"+alias xTypeError preface.xTypeError",
"+alias xZeroDivisionError preface.xZeroDivisionError",
"+alias xAssertionError preface.xAssertionError",
"+alias xValueError preface.xValueError",
"+alias xrange preface.xrange",
// "+alias sprintf org.eolang.txt.sprintf",
"+junit",
Expand Down Expand Up @@ -346,6 +348,8 @@ object PrintLinearizedMutableEOWithCage {
"xint > dummy-xint",
"xStopIteration > dummy-stop-iteration",
"xZeroDivisionError > dummy-xZeroDivisionError",
"xAssertionError > dummy-xAssertionError",
"xValueError > dummy-xValueError",
"xTypeError > dummy-xTypeError",
"xiter > dummy-xiter",
"xrange > dummy-xrange",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,23 @@ object StatementPasses {
case _ => (s, ns)
}

def simplifyAssert(s : Statement.T, ns : NamesU) : (Statement.T, NamesU) = s match {
case Assert(what, param, ann) => (
IfSimple(
Unop(Unops.LNot, what, ann.pos),
Raise(
Some(CallIndex(true, Ident("AssertionError", ann.pos), param.toList.map((None, _)), ann.pos)),
None,
ann.pos
),
Pass(ann.pos),
ann.pos
),
ns
)
case _ => (s, ns)
}

def simplifyFor(s : Statement.T, ns : NamesU) : (Statement.T, NamesU) = s match {
case For(what, in, body, eelse, false, ann) =>
val (List(it, inn), ns1) = ns(List("it", "inn"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ object Transpile {
debugPrinter(y._1, "afterSimplifyFor")

try {
val rmExcepts = StatementPasses.procStatement(StatementPasses.simplifyExcepts)(y._1, y._2)
val rmAssert = StatementPasses.procStatement(StatementPasses.simplifyAssert)(y._1, y._2)
debugPrinter(rmAssert._1, "afterRmAssert")
val rmExcepts = StatementPasses.procStatement(StatementPasses.simplifyExcepts)(rmAssert._1, rmAssert._2)
debugPrinter(rmExcepts._1, "afterRmExcepts")
val simIf = StatementPasses.procStatement(StatementPasses.simplifyIf)(rmExcepts._1, rmExcepts._2)
debugPrinter(simIf._1, "simplifyIf")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
enabled: False
enabled: True
python: |
def test():
x = 5.15
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
enabled: False
enabled: True
python: |
def test():
x = 5
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
enabled: False
enabled: True
python: |
def while_try_except_else():
arr = []
Expand All @@ -12,5 +12,5 @@ python: |
res = True
arr.append(1)
break
return res and arr == [1]
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
enabled: False
enabled: True
python: |
def continue1():
i = 0
Expand Down

1 comment on commit f5588b2

@0pdd
Copy link
Member

@0pdd 0pdd commented on f5588b2 Aug 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to retrieve PDD puzzles from the code base and submit them to github. If you think that it's a bug on our side, please submit it to yegor256/0pdd:

set -x && set -e && set -o pipefail && cd /tmp/0pdd20220801-14-14dqvxy/Z2l0QGdpdGh1Yi5jb206cG9seXN0YXQvcHkyZW8uZ2l0 && pdd -v -f /tmp/20220801-2141-18zns86 [1]: + set -e + set -o pipefail + cd /tmp/0pdd20220801-14-14dqvxy/Z2l0QGdpdGh1Yi5jb206cG9seXN0YXQvcHkyZW8uZ2l0 + pdd -v -f...

Please, copy and paste this stack trace to GitHub:

UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20220801-14-14dqvxy/Z2l0QGdpdGh1Yi5jb206cG9seXN0YXQvcHkyZW8uZ2l0 && pdd -v -f /tmp/20220801-2141-18zns86 [1]:
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20220801-14-14dqvxy/Z2l0QGdpdGh1Yi5jb206cG9seXN0YXQvcHkyZW8uZ2l0
+ pdd -v -f /tmp/20220801-2141-18zns86

My version is 0.21.3
Ruby version is 2.7.5 at x86_64-linux
Reading from root dir /tmp/0pdd20220801-14-14dqvxy/Z2l0QGdpdGh1Yi5jb206cG9seXN0YXQvcHkyZW8uZ2l0
Reading runEO/pom.xml ...
Reading .gitignore ...
Reading README.md ...
Reading Dockerfile ...
Reading transpiler/pom.xml ...
Reading transpiler/src/main/eo/preface/continue.eo ...
Reading transpiler/src/main/eo/preface/fakeclasses.eo ...
Reading transpiler/src/main/eo/preface/xValueError.eo ...
Reading transpiler/src/main/eo/preface/xiter.eo ...
Reading transpiler/src/main/eo/preface/pyfloat.eo ...
Reading transpiler/src/main/eo/preface/xTypeError.eo ...
Reading transpiler/src/main/eo/preface/pyint.eo ...
Reading transpiler/src/main/eo/preface/xZeroDivisionError.eo ...
Reading transpiler/src/main/eo/preface/break.eo ...
Reading transpiler/src/main/eo/preface/xrange.eo ...
Reading transpiler/src/main/eo/preface/xAssertionError.eo ...
Reading transpiler/src/main/eo/preface/pycomplex.eo ...
Reading transpiler/src/main/eo/preface/pybool.eo ...
Reading transpiler/src/main/eo/preface/raiseNothing.eo ...
Reading transpiler/src/main/eo/preface/xlist.eo ...
Reading transpiler/src/main/eo/preface/newUID.eo ...
Reading transpiler/src/main/eo/preface/xmyArray.eo ...
Reading transpiler/src/main/eo/preface/raiseEmpty.eo ...
Reading transpiler/src/main/eo/preface/mkCopy.eo ...
Reading transpiler/src/main/eo/preface/xlen.eo ...
Reading transpiler/src/main/eo/preface/xint.eo ...
Reading transpiler/src/main/eo/preface/xStopIteration.eo ...
Reading transpiler/src/main/eo/preface/pystring.eo ...
Reading transpiler/src/main/eo/preface/return.eo ...
Reading transpiler/src/main/eo/my-array.eo ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/PrintLinearizedMutableEOWithCage.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/Main.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/Transpile.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/FindBadConstructs.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/SimpleAnalysis.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/ExpressionPasses.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/ClosureWithCage.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/StatementPasses.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/PrintEO.scala ...
Reading transpiler/src/main/scala/org/polystat/py2eo/transpiler/Common.scala ...
Reading transpiler/src/main/java/org/polystat/py2eo/transpiler/dummy.java ...
Reading transpiler/src/main/python/inheritance.py ...
Reading transpiler/src/main/python/C3.py ...
Reading transpiler/src/main/python/closureRuntime.py ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/django-pom.xml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/eo/map-tests.eo ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_abstract_numbers.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_userstring.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_symtable.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_class.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_imghdr.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_uuid.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_cmd.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_index.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_smtpd.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_dict_version.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_rlcompleter.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_random.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_fileio.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_urllib2net.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_funcattrs.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_quopri.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_types.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_bool.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_codecencodings_cn.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_flufl.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_univnewlines.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_pyexpat.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_colorsys.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_compile.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_coroutines.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_linecache.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_gc.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_site.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_platform.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_property.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_functools.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_int_literal.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_audioop.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_asyncgen.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_pulldom.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_modulefinder.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_typechecks.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_unpack.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_pkgutil.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_fstring.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_with.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_userlist.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_threading_local.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_context.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_webbrowser.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_asyncore.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/README.md ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_metaclass.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_csv.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_thread.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_codecmaps_jp.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_struct.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_http_cookies.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_fractions.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_pwd.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_syslog.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_codecencodings_iso2022.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_pickletools.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_genericpath.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_asynchat.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_xdrlib.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_locale.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_codeop.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_mailbox.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_timeout.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_bufio.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_httpservers.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_dict.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_decorators.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_grp.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_imaplib.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_bigmem.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_posix.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_sndhdr.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_aifc.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_wave.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_re.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_httplib.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_codecencodings_hk.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_keywordonlyarg.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_poll.yaml ...
Reading transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_smtplib.yaml ...
ERROR: transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_smtplib.yaml; PDD::Error at transpiler/src/test/resources/org/polystat/py2eo/transpiler/testParserPrinter/test_smtplib.yaml:1122: TODO must have a leading space to become a puzzle, as this page explains: https://github.com/cqfn/pdd#how-to-format
If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/cqfn/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/cqfn/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:73:in `rescue in block in xml'
/app/objects/git_repo.rb:70:in `block in xml'
/app/vendor/ruby-2.7.5/lib/ruby/2.7.0/tempfile.rb:291:in `open'
/app/objects/git_repo.rb:69:in `xml'
/app/objects/puzzles.rb:41:in `deploy'
/app/objects/jobs/job.rb:38:in `proceed'
/app/objects/jobs/job_starred.rb:32:in `proceed'
/app/objects/jobs/job_recorded.rb:31:in `proceed'
/app/objects/jobs/job_emailed.rb:33:in `proceed'
/app/objects/jobs/job_commiterrors.rb:33:in `proceed'
/app/objects/jobs/job_detached.rb:48:in `exclusive'
/app/objects/jobs/job_detached.rb:36:in `block in proceed'
/app/objects/jobs/job_detached.rb:36:in `fork'
/app/objects/jobs/job_detached.rb:36:in `proceed'
/app/0pdd.rb:519:in `process_request'
/app/0pdd.rb:356:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1686:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1686:in `block in compile!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1023:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1042:in `route_eval'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1023:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1071:in `block in process_route'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1069:in `catch'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1069:in `process_route'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1021:in `block in route!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1018:in `each'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1018:in `route!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1140:in `block in dispatch!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `catch'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1135:in `dispatch!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:949:in `block in call!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `catch'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:949:in `call!'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:938:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-protection-2.2.2/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-2.2.4/lib/rack/logger.rb:17:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-2.2.4/lib/rack/common_logger.rb:38:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:255:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:248:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-2.2.4/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-2.2.4/lib/rack/method_override.rb:24:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:218:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1993:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1553:in `block in call'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1769:in `synchronize'
/app/vendor/bundle/ruby/2.7.0/gems/sinatra-2.2.2/lib/sinatra/base.rb:1553:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/rack-2.2.4/lib/rack/handler/webrick.rb:95:in `service'
/app/vendor/ruby-2.7.5/lib/ruby/2.7.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.7.5/lib/ruby/2.7.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.7.5/lib/ruby/2.7.0/webrick/server.rb:307:in `block in start_thread'

Please sign in to comment.