-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change-Id: I306b87c0350ae407bbea123a467970a4b4c81d87
- Loading branch information
Showing
20 changed files
with
416 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test") | ||
load("//rules:binary_log.bzl", "synchronized_binary_log") | ||
|
||
cc_binary( | ||
name = "minimal_pass", | ||
srcs = ["minimal_pass.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "minimal_pass_log", | ||
src = ":minimal_pass", | ||
) | ||
|
||
cc_binary( | ||
name = "minimal_fail", | ||
srcs = ["minimal_fail.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "minimal_fail_log", | ||
src = ":minimal_fail", | ||
) | ||
|
||
cc_test( | ||
name = "binary_comparisons", | ||
srcs = ["binary_comparisons.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
cc_test( | ||
name = "logical_operations", | ||
srcs = ["logical_operations.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
cc_binary( | ||
name = "additional_output", | ||
srcs = ["additional_output.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "additional_output_log", | ||
src = ":additional_output", | ||
) | ||
|
||
cc_binary( | ||
name = "user_defined_predicates", | ||
srcs = ["user_defined_predicates.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "user_defined_predicates_log", | ||
src = ":user_defined_predicates", | ||
) | ||
|
||
cc_binary( | ||
name = "described_predicates_20", | ||
srcs = ["described_predicates_20.cpp"], | ||
copts = ["-std=c++20"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "described_predicates_20_log", | ||
src = ":described_predicates_20", | ||
) | ||
|
||
cc_binary( | ||
name = "described_predicates", | ||
srcs = ["described_predicates.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
synchronized_binary_log( | ||
name = "described_predicates_log", | ||
src = ":described_predicates", | ||
) | ||
|
||
cc_test( | ||
name = "type_parameterized", | ||
srcs = ["type_parameterized.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
cc_test( | ||
name = "value_parameterized", | ||
srcs = ["value_parameterized.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
cc_test( | ||
name = "param_ref_parameterized", | ||
srcs = ["param_ref_parameterized.cpp"], | ||
deps = ["//:skytest"], | ||
) | ||
|
||
cc_test( | ||
name = "param_parameterized", | ||
srcs = ["param_parameterized.cpp"], | ||
copts = ["-std=c++20"], | ||
deps = ["//:skytest"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <utility> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::eq; | ||
using ::skytest::expect; | ||
|
||
"string-view-ish"_test = [] { return expect(eq(1, 2), "a message"); }; | ||
|
||
"ostream invocable closure"_test = [] { | ||
const auto x = std::pair{1, 2}; | ||
const auto y = std::pair{2, 1}; | ||
return expect(eq(x, y), [=](auto& os) { | ||
os << x.first << ", " << y.first << "\n"; | ||
}); | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
test `string-view-ish`...[31m[CONSTEXPR FAIL][0m example/additional_output.cpp:11 | ||
[31m[2m(1 == 2)[0m | ||
a message | ||
test `ostream invocable closure`...[31m[CONSTEXPR FAIL][0m example/additional_output.cpp:16 | ||
[31m[2m(std::pair<int, int>{...} == std::pair<int, int>{...})[0m | ||
1, 2 | ||
|
||
0 tests passed | [31m2 tests failed[0m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::eq; | ||
using ::skytest::expect; | ||
using ::skytest::ge; | ||
using ::skytest::gt; | ||
using ::skytest::le; | ||
using ::skytest::lt; | ||
using ::skytest::ne; | ||
|
||
"eq"_test = [] { return expect(eq(1, 1)); }; | ||
"ne"_test = [] { return expect(ne(1, 0)); }; | ||
"lt"_test = [] { return expect(lt(0, 1)); }; | ||
"gt"_test = [] { return expect(gt(1, 0)); }; | ||
"le"_test = [] { return expect(le(1, 1)); }; | ||
"ge"_test = [] { return expect(ge(1, 1)); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
|
||
#include "skytest/skytest.hpp" | ||
|
||
#include <array> | ||
#include <string_view> | ||
|
||
using namespace skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::pred; | ||
|
||
struct empty_desc | ||
{ | ||
using notation_type = skytest::notation::function; | ||
static constexpr auto symbol = std::string_view{"empty"}; | ||
}; | ||
|
||
static constexpr auto empty = pred(empty_desc{}, [](const auto& rng) { | ||
return std::empty(rng); | ||
}); | ||
|
||
auto main() -> int | ||
{ | ||
|
||
"empty array"_test = [] { return expect(empty(std::array{1, 2, 3})); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
test `empty array`...[31m[CONSTEXPR FAIL][0m example/described_predicates.cpp:24 | ||
[31m[2mempty([1, 2, 3])[0m | ||
|
||
0 tests passed | [31m1 test failed[0m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <array> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::function; | ||
using ::skytest::pred; | ||
|
||
static constexpr auto empty = pred(function<"∅">, std::ranges::empty); | ||
|
||
"empty array"_test = [] { return expect(empty(std::array{1, 2, 3})); }; | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::lt; | ||
|
||
"and"_test = [] { return expect(lt(1, 2) and lt(2, 3)); }; | ||
"or"_test = [] { return expect(lt(3, 2) or lt(2, 3)); }; | ||
"not"_test = [] { return expect(not lt(1, 0)); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
auto main(int argc, char*[]) -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::eq; | ||
using ::skytest::expect; | ||
|
||
"falsy"_test = [&] { return expect(eq(0, argc)); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
test `falsy`...[31m[FAIL][0m example/minimal_fail.cpp:9 | ||
[31m[2m(0 == 1)[0m | ||
|
||
0 tests passed | [31m1 test failed[0m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::expect; | ||
|
||
"truthy"_test = [] { return expect(true); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
test `truthy`...[32m[CONSTEXPR PASS][0m | ||
[32mall tests passed[0m (1 test) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <array> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace ::skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::lt; | ||
using ::skytest::param; | ||
|
||
"with paramf"_test * param<std::array{1, 2, 3}> = // | ||
[](auto param) { return expect(lt(0, param)); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <array> | ||
#include <tuple> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace ::skytest::literals; | ||
using ::skytest::eq; | ||
using ::skytest::expect; | ||
using ::skytest::lt; | ||
using ::skytest::param_ref; | ||
|
||
static constexpr auto type_params = std::tuple{1.0F, 1.0}; | ||
|
||
"types with param_ref"_test * param_ref<type_params> = // | ||
[](auto param) { return expect(eq(1, param)); }; | ||
|
||
static constexpr auto value_params = std::array{1, 2, 3}; | ||
|
||
"values with param_ref"_test * param_ref<value_params> = // | ||
[](auto param) { return expect(lt(0, param)); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <cmath> | ||
#include <complex> | ||
#include <tuple> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace ::skytest::literals; | ||
using ::skytest::eq; | ||
using ::skytest::expect; | ||
using ::skytest::types; | ||
|
||
"typed"_test * std::tuple<int, float, std::complex<double>>{} = // | ||
[](auto param) { return expect(eq(0, std::abs(param))); }; | ||
|
||
"with types param"_test * types<int, float> = // | ||
[](auto type_id) { | ||
using T = typename decltype(type_id)::type; | ||
return expect(eq(T{}, T{} + T{})); | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <array> | ||
#include <iterator> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::pred; | ||
|
||
static constexpr auto empty = pred([](const auto& rng) { | ||
return std::empty(rng); | ||
}); | ||
|
||
"empty array"_test = [] { return expect(empty(std::array{1, 2, 3})); }; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
test `empty array`...[31m[CONSTEXPR FAIL][0m example/user_defined_predicates.cpp:16 | ||
[31m[2m(lambda at example/user_defined_predicates.cpp:12:38){}([1, 2, 3])[0m | ||
|
||
0 tests passed | [31m1 test failed[0m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#include "skytest/skytest.hpp" | ||
|
||
#include <vector> | ||
|
||
auto main() -> int | ||
{ | ||
using namespace ::skytest::literals; | ||
using ::skytest::expect; | ||
using ::skytest::lt; | ||
|
||
"values"_test * std::vector{1, 2, 3} = // | ||
[](auto param) { return expect(lt(0, param)); }; | ||
} |
Oops, something went wrong.