Revision 57a976cd8658776595ba5d201f9b7a26cc35fad3 authored by Nicolas BACQUEY on 26 July 2022, 09:07:38 UTC, committed by Nicolas BACQUEY on 26 July 2022, 13:42:23 UTC
When parsing json schemas in `qcheck_rpc.ml` to generate random RPC
inputs, we had two references that were ultimately circular:
"tree_encoding" and "inode_tree". Parsing those references would cause
stack overflows in `parse_input` and crash the test suite.

This commit adds two special cases to  `parse_input`, similar to those
which are already there for references to "bignum" and
"micheline.alpha.michelson_v1.expression".

However, note that the two new generators are trivial: they always
produce a `Null` json value. Those generators will need to be correctly
implmented in a future commit.
1 parent 5c6a1cd
Raw File
tezos-protocol-environment.opam
# This file was automatically generated, do not edit.
# Edit file manifest/main.ml instead.
opam-version: "2.0"
maintainer: "contact@tezos.com"
authors: ["Tezos devteam"]
homepage: "https://www.tezos.com/"
bug-reports: "https://gitlab.com/tezos/tezos/issues"
dev-repo: "git+https://gitlab.com/tezos/tezos.git"
license: "MIT"
depends: [
  "dune" { >= "3.0" }
  "ocaml" { >= "4.12" }
  "tezos-stdlib"
  "tezos-crypto"
  "tezos-lwt-result-stdlib"
  "tezos-scoru-wasm"
  "data-encoding" { >= "0.6" & < "0.7" }
  "bls12-381" { >= "4.0.0" & < "4.1.0" }
  "tezos-plonk" { >= "0.1.0" }
  "zarith" { >= "1.12" & < "1.13" }
  "zarith_stubs_js"
  "class_group_vdf" { >= "0.0.2" }
  "ringo" { >= "0.9" }
  "ringo-lwt" { >= "0.9" }
  "tezos-base"
  "tezos-sapling"
  "tezos-micheline"
  "tezos-context"
  "tezos-event-logging"
  "alcotest-lwt" { with-test & >= "1.5.0" }
  "tezos-test-helpers" {with-test}
  "qcheck-alcotest" { with-test & >= "0.18" }
  "lwt" { with-test & >= "5.4.0" }
]
build: [
  ["rm" "-r" "vendors"]
  ["dune" "build" "-p" name "-j" jobs]
  ["dune" "runtest" "-p" name "-j" jobs] {with-test}
]
synopsis: "Interface layer between the protocols and the shell"
description: "The protocol-environment is a two-sided component sitting between the shell and
the protocols.

On one side, it provides a restricted typing environment to compile the
protocols against. This is a series of modules which replace the standard
library of OCaml. These modules purposefully omit many functionalities, thus
preventing the protocols from, say, directly writing to disk.

On the other side, it provides the shell with specific call-sites in the
protocols. These are the only entry-points into the otherwise black-box
protocols."
back to top