From 57ad06ecefa013c695d9ad55b73b8a967af14941 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 05:54:55 -0500 Subject: [PATCH 1/8] coverage? --- .circleci/config.yml | 12 ++++++------ .circleci/generate_coverage.sh | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 .circleci/generate_coverage.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 45ded26a..0a1ba909 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,16 +32,16 @@ jobs: command: "cargo fmt --check" - run: name: "Install dependencies" - command: "sudo apt-get update && sudo apt-get install -y psmisc postgresql-contrib-12 postgresql-client-12 ruby ruby-dev libpq-dev python3 python3-pip" + command: "sudo apt-get update && sudo apt-get install -y psmisc postgresql-contrib-12 postgresql-client-12 ruby ruby-dev libpq-dev python3 python3-pip lcov llvm-11" + - run: + name: "Install rust tools" + command: "cargo install cargo-binutils rustfilt && rustup component add llvm-tools-preview" - run: name: "Build" command: "cargo build" - run: - name: "Test" - command: "cargo test" - - run: - name: "Test end-to-end" - command: "bash .circleci/run_tests.sh" + name: "Tests" + command: "cargo test && bash .circleci/run_tests.sh && .circleci/coverage_report.sh" - save_cache: key: cargo-lock-2-{{ checksum "Cargo.lock" }} paths: diff --git a/.circleci/generate_coverage.sh b/.circleci/generate_coverage.sh new file mode 100644 index 00000000..ec951d25 --- /dev/null +++ b/.circleci/generate_coverage.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +rust-profdata merge -sparse pgcat-*.profraw -o pgcat.profdata + +rust-cov export -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info + +genhtml lcov.info --output-directory cov --prefix $(pwd) From 18f4f030cfb9ab12cfe7ff5494c6394b76cab3db Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:00:26 -0500 Subject: [PATCH 2/8] generate_coverage --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0a1ba909..9859b778 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,6 +12,8 @@ jobs: - image: cimg/rust:1.58.1 environment: RUST_LOG: info + RUSTFLAGS: "-C instrument-coverage" + LLVM_PROFILE_FILE: "pgcat-%m.profraw" - image: postgres:14 # auth: # username: mydockerhub-user @@ -41,7 +43,7 @@ jobs: command: "cargo build" - run: name: "Tests" - command: "cargo test && bash .circleci/run_tests.sh && .circleci/coverage_report.sh" + command: "cargo test && bash .circleci/run_tests.sh && .circleci/generate_coverage.sh" - save_cache: key: cargo-lock-2-{{ checksum "Cargo.lock" }} paths: From 7b3f56910001a4830f64c0b272614ff16f13eaa6 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:01:09 -0500 Subject: [PATCH 3/8] +x --- .circleci/generate_coverage.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .circleci/generate_coverage.sh diff --git a/.circleci/generate_coverage.sh b/.circleci/generate_coverage.sh old mode 100644 new mode 100755 From 5f3a71980feda854cdde100c6bdbc068c3019af8 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:04:29 -0500 Subject: [PATCH 4/8] 1.62.1 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9859b778..0a6fd128 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: # Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub. # See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor docker: - - image: cimg/rust:1.58.1 + - image: cimg/rust:1.62.1 environment: RUST_LOG: info RUSTFLAGS: "-C instrument-coverage" From f4723a48029a18c2c90ec8ea86e4bdb97bbf70d5 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:06:32 -0500 Subject: [PATCH 5/8] 62 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0a6fd128..dd1c5a6e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: # Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub. # See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor docker: - - image: cimg/rust:1.62.1 + - image: cimg/rust:1.62.0 environment: RUST_LOG: info RUSTFLAGS: "-C instrument-coverage" From 4346f0e5dc596fd8ca740e5f95a016ec74975642 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:25:48 -0500 Subject: [PATCH 6/8] ignore --- .circleci/generate_coverage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/generate_coverage.sh b/.circleci/generate_coverage.sh index ec951d25..abac34bc 100755 --- a/.circleci/generate_coverage.sh +++ b/.circleci/generate_coverage.sh @@ -2,6 +2,6 @@ rust-profdata merge -sparse pgcat-*.profraw -o pgcat.profdata -rust-cov export -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info +rust-cov export -ignore-filename-regex=rustc -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info genhtml lcov.info --output-directory cov --prefix $(pwd) From a7bdd7910f6b98ef2847010537a468cd910480d6 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:31:16 -0500 Subject: [PATCH 7/8] store --- .circleci/config.yml | 3 +++ .circleci/generate_coverage.sh | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd1c5a6e..aed5c182 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,6 +44,9 @@ jobs: - run: name: "Tests" command: "cargo test && bash .circleci/run_tests.sh && .circleci/generate_coverage.sh" + - store_artifacts: + path: /tmp/cov + destination: coverage-data - save_cache: key: cargo-lock-2-{{ checksum "Cargo.lock" }} paths: diff --git a/.circleci/generate_coverage.sh b/.circleci/generate_coverage.sh index abac34bc..82c7cff3 100755 --- a/.circleci/generate_coverage.sh +++ b/.circleci/generate_coverage.sh @@ -2,6 +2,6 @@ rust-profdata merge -sparse pgcat-*.profraw -o pgcat.profdata -rust-cov export -ignore-filename-regex=rustc -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info +rust-cov export -ignore-filename-regex=rustc|registry -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info -genhtml lcov.info --output-directory cov --prefix $(pwd) +genhtml lcov.info --output-directory /tmp/cov --prefix $(pwd) From 378336f8c41a9832f22908f625573de65e992839 Mon Sep 17 00:00:00 2001 From: Mostafa Abdelraouf Date: Sun, 7 Aug 2022 06:35:58 -0500 Subject: [PATCH 8/8] quote --- .circleci/generate_coverage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/generate_coverage.sh b/.circleci/generate_coverage.sh index 82c7cff3..59fe44aa 100755 --- a/.circleci/generate_coverage.sh +++ b/.circleci/generate_coverage.sh @@ -2,6 +2,6 @@ rust-profdata merge -sparse pgcat-*.profraw -o pgcat.profdata -rust-cov export -ignore-filename-regex=rustc|registry -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info +rust-cov export -ignore-filename-regex="rustc|registry" -Xdemangler=rustfilt -instr-profile=pgcat.profdata --object ./target/debug/pgcat --format lcov > ./lcov.info genhtml lcov.info --output-directory /tmp/cov --prefix $(pwd)