diff --git a/badges/docstring_coverage.svg b/badges/docstring_coverage.svg
index bb83422617c573dda55319b7fadb4a026c5677b7..836e4960ec38bd920d07d1f7c9ac54041161769c 100644
--- a/badges/docstring_coverage.svg
+++ b/badges/docstring_coverage.svg
@@ -14,7 +14,7 @@
     <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="110">
         <text x="505" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="890">docstr-coverage</text>
         <text x="505" y="140" transform="scale(.1)" textLength="890">docstr-coverage</text>
-        <text x="1195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)">98%</text>
-        <text x="1195" y="140" transform="scale(.1)">98%</text>
+        <text x="1195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)">96%</text>
+        <text x="1195" y="140" transform="scale(.1)">96%</text>
     </g>
 </svg>
\ No newline at end of file
diff --git a/badges/test_coverage.svg b/badges/test_coverage.svg
index 6d24dca8738847c2291086179b7c665c9c40a78c..f5af1dbeee2cacec20e9e6d0fbc93e757733fa2f 100644
--- a/badges/test_coverage.svg
+++ b/badges/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">73%</text>
-        <text x="80" y="14">73%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">72%</text>
+        <text x="80" y="14">72%</text>
     </g>
 </svg>
diff --git a/generate_reports.sh b/generate_reports.sh
index 730f3a6545bf9eb4287a4ad1cf59c5a918b656d8..5f226260db4e2611c81acb1fae6f9d90a90a5855 100755
--- a/generate_reports.sh
+++ b/generate_reports.sh
@@ -3,8 +3,9 @@
 ## Script to generate the docstring coverage
 NAME_CURRENT_FILE="`realpath \"$0\"`"
 DIRNAME_CURRENT_FILE=$(dirname $NAME_CURRENT_FILE)
-TESTS_DIR="$DIRNAME_CURRENT_FILE/binarycpython/tests/"
+TESTS_DIR="$DIRNAME_CURRENT_FILE/binarycpython/tests"
 REPORTS_DIR="$DIRNAME_CURRENT_FILE/reports"
+BADGE_DIR="$DIRNAME_CURRENT_FILE/badges"
 
 #
 # echo "$NAME_CURRENT_FILE"
@@ -12,23 +13,40 @@ REPORTS_DIR="$DIRNAME_CURRENT_FILE/reports"
 # echo "$TESTS_DIR"
 # echo "$REPORTS_DIR"
 
-mkdir -p "$REPORTS_DIR"
+# Create main reports directory
 mkdir -p "$REPORTS_DIR"
 
-# Docstring coverage:
+## Docstring coverage:
 command -v docstr-coverage >/dev/null 2>&1 || { echo >&2 "docstr-coverage is not installed.  Aborting."; exit 1; }
 
-
+#
+echo "Generating docstring report"
 DOCSTRING_COV_DIR="$REPORTS_DIR/docstring_coverage"
 mkdir -p "$DOCSTRING_COV_DIR/"
 docstr-coverage binarycpython --exclude="$TESTS_DIR/*" -v 3 --badge "$DOCSTRING_COV_DIR/docstring_coverage.svg" > "$DOCSTRING_COV_DIR/docstring_coverage.txt" 2>&1
+cp "$DOCSTRING_COV_DIR/docstring_coverage.svg" "$BADGE_DIR/docstring_coverage.svg"
+echo "Done"
+
+## test coverage
+command -v coverage >/dev/null 2>&1 || { echo >&2 "coverage is not installed. Aborting."; exit 1; }
+command -v coverage-badge >/dev/null 2>&1 || { echo >&2 "coverage-badge is not installed. Aborting."; exit 1; }
+
+echo "Generating test coverage html report"
+TEST_COV_DIR="$REPORTS_DIR/test_coverage"
+mkdir -p "$TEST_COV_DIR/"
+cd $TEST_COV_DIR
+coverage run --source=binarycpython "$TESTS_DIR/main.py"
+coverage html
+coverage-badge > "$TEST_COV_DIR/test_coverage.svg"
+cd $DIRNAME_CURRENT_FILE
+cp "$TEST_COV_DIR/test_coverage.svg" "$BADGE_DIR/test_coverage.svg"
+echo "Done"
 
 # # Go down to the dir
 # cd reports/test_coverage && coverage run --source=binarycpython ../../binary_c-python/binarycpython/tests/main.py && coverage-badge > test_coverage.svg
 # cd ../../
 
 # # Copy docstring coverage
-# cp reports/docstring_coverage/docstring_coverage.svg binary_c-python/badges/docstring_coverage.svg
 # cp reports/docstring_coverage/docstring_coverage.svg binary_c-python/docs/source/badges/docstring_coverage.svg
 
 # # Copy test coverage