From 2a303e99097ba7e41d2b5ea8e90b24d7545d4399 Mon Sep 17 00:00:00 2001 From: Pejman Ghorbanzade Date: Sat, 30 Sep 2023 17:35:18 -0700 Subject: [PATCH] [cppcon23] update slides --- slides/cppcon23/pages/03_tooling.md | 93 ++++++++++++++++++++++++----- 1 file changed, 79 insertions(+), 14 deletions(-) diff --git a/slides/cppcon23/pages/03_tooling.md b/slides/cppcon23/pages/03_tooling.md index 568e1ba..b646005 100644 --- a/slides/cppcon23/pages/03_tooling.md +++ b/slides/cppcon23/pages/03_tooling.md @@ -86,17 +86,29 @@ the system we are changing is old and legacy. Touca needs to support this use-case and support most versions of GCC, Clang, and MSVC with that same logic. To support older standard versions, the SDK has a few dependencies, listed here, -so we don't provide single-header installation. Instead you can build and +so we don't offer single-header installation. Instead you can build and install Touca with CMake and pull it as a dependency using FetchContent. -We also have limited support Conan and Bazel. +We also have limited support for Conan and Bazel. --> --- slide: Data Capturing API --- -
-
+
+
+ +```cpp {|3-5} +touca::workflow("students", [](const std::string& username) { + const auto& student = find_student(username); + touca::check("name", student.name); + touca::check("birth_date", student.dob); + touca::check("gpa", student.gpa); +}); +``` + +
+
```cpp struct Date { @@ -107,16 +119,7 @@ struct Date { ```
-
- -```cpp -touca::check("name", student.name); -touca::check("birth_date", student.dob); -touca::check("gpa", student.gpa); -``` - -
-
+
```cpp template @@ -129,11 +132,35 @@ void check(Char&& key, const Value& value) {
+ + --- slide: Data Capturing Internals ---
+
```cpp void touca::detail::check(const std::string& key, const data_point& value) { @@ -141,6 +168,9 @@ void touca::detail::check(const std::string& key, const data_point& value) { } ``` +
+
+ ```cpp void Client::check(const std::string& key, const data_point& value) { if (has_last_testcase()) { @@ -149,6 +179,9 @@ void Client::check(const std::string& key, const data_point& value) { } ``` +
+
+ ```cpp void Testcase::check(const std::string& key, const data_point& value) { _resultsMap.emplace(key, ResultEntry{value, ResultCategory::Check}); @@ -157,6 +190,38 @@ void Testcase::check(const std::string& key, const data_point& value) { ```
+
+ + --- section: Data Serialization