# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

[package]
name = "googletest"
version = "0.11.0"
keywords = ["unit", "matcher", "testing", "assertions"]
categories = ["development-tools", "development-tools::testing"]
description = "A rich assertion and matcher library inspired by GoogleTest for C++"
repository = "https://github.com/google/googletest-rust"
readme = "../README.md"
license = "Apache-2.0"
edition = "2021"
rust-version = "1.66.0"
authors = [
  "Bradford Hovinen <hovinen@google.com>",
  "Bastien Jacot-Guillarmod <bjacotg@google.com>",
  "Maciej Pietrzak <mpi@google.com>",
  "Martin Geisler <mgeisler@google.com>",
]

[dependencies]
googletest_macro = { path = "../googletest_macro", version = "0.11.0" }
anyhow = { version = "1", optional = true }
num-traits = "0.2.17"
proptest = { version = "1.2.0", optional = true }
regex = "1.7.3"
rustversion = "1.0.14"

[dev-dependencies]
indoc = "2"
quickcheck = "1.0.3"
serial_test = "2.0.0"
