From 0b53dcf22f1027c039246cb91a09fb60629b486b Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Mon, 19 Oct 2020 00:35:30 +0100 Subject: [PATCH 01/14] Add functional tests on select --- test/bats | 1 + test/test_helper/bats-assert | 1 + test/test_helper/bats-support | 1 + 3 files changed, 3 insertions(+) create mode 160000 test/bats create mode 160000 test/test_helper/bats-assert create mode 160000 test/test_helper/bats-support diff --git a/test/bats b/test/bats new file mode 160000 index 0000000..49b377a --- /dev/null +++ b/test/bats @@ -0,0 +1 @@ +Subproject commit 49b377a751e6f9379abfdfb3dfa3aafabd8495a1 diff --git a/test/test_helper/bats-assert b/test/test_helper/bats-assert new file mode 160000 index 0000000..e0de84e --- /dev/null +++ b/test/test_helper/bats-assert @@ -0,0 +1 @@ +Subproject commit e0de84e9c011223e7f88b7ccf1c929f4327097ba diff --git a/test/test_helper/bats-support b/test/test_helper/bats-support new file mode 160000 index 0000000..d140a65 --- /dev/null +++ b/test/test_helper/bats-support @@ -0,0 +1 @@ +Subproject commit d140a65044b2d6810381935ae7f0c94c7023c8c3 From 452969090f9fd765aeea092deb7436e13684443c Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Wed, 26 May 2021 21:15:55 +0100 Subject: [PATCH 02/14] revert "Update ci.yml" This reverts commit d57333e28a900f4b5270948092d1e2b3db7aab85. --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 372cb04..4644f41 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,6 +93,11 @@ jobs: go-version: 1.12 id: go + - name: Setup BATS + uses: mig4/setup-bats@v1 + with: + bats-version: 1.2.1 + - name: Check out code into the Go module directory uses: actions/checkout@v1 From 30986265206c6516da952f6143fcbea74b9b2037 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Wed, 26 May 2021 21:30:17 +0100 Subject: [PATCH 03/14] Change tests to use main rather than master --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4644f41..d50d284 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: - name: Setup BATS uses: mig4/setup-bats@v1 with: - bats-version: 1.2.1 + bats-version: 1.3.0 - name: Check out code into the Go module directory uses: actions/checkout@v1 From 5c2da859ea005b41080e86bc17724fd6300fc69e Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Wed, 26 May 2021 23:04:36 +0100 Subject: [PATCH 04/14] Remove bats for windows --- .github/workflows/ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d50d284..372cb04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,11 +93,6 @@ jobs: go-version: 1.12 id: go - - name: Setup BATS - uses: mig4/setup-bats@v1 - with: - bats-version: 1.3.0 - - name: Check out code into the Go module directory uses: actions/checkout@v1 From 08b628dbcd459bf3f6211d1730fae8b1a9371768 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Wed, 26 May 2021 23:06:42 +0100 Subject: [PATCH 05/14] Smoke test on select discinct --- tests/select.bats | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/select.bats b/tests/select.bats index af79649..8cdf1a5 100644 --- a/tests/select.bats +++ b/tests/select.bats @@ -5,6 +5,10 @@ [ "$?" == "0" ] } +@test "Select discting should work" { + run ./gitql 'select distinct author from commits' + [ "$status" -eq 0 ] +} @test "Select discting should work" { run ./gitql 'select distinct author from commits' [ "$status" -eq 0 ] From 5034640e396517a7d61e6799ccc514d9c645e5d9 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Wed, 26 May 2021 23:09:31 +0100 Subject: [PATCH 06/14] Add smoke test about count --- tests/select.bats | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/select.bats b/tests/select.bats index 8cdf1a5..c6105dc 100644 --- a/tests/select.bats +++ b/tests/select.bats @@ -9,7 +9,11 @@ run ./gitql 'select distinct author from commits' [ "$status" -eq 0 ] } -@test "Select discting should work" { + +@test "Select count should work" { + run ./gitql 'select count(*) from commits' + [ "$status" -eq 0 ] +}@test "Select discting should work" { run ./gitql 'select distinct author from commits' [ "$status" -eq 0 ] } From 64d5ef6870198648e827e9f2768df6a6011063bc Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Fri, 28 May 2021 11:36:51 +0100 Subject: [PATCH 07/14] Add functional tests checking outputs --- .github/workflows/ci.yml | 4 +-- .gitignore | 4 ++- .gitmodules | 9 ++++++ {tests => test}/options.bats | 0 test/select.bats | 58 ++++++++++++++++++++++++++++++++++++ {tests => test}/use.bats | 0 tests/select.bats | 24 --------------- 7 files changed, 72 insertions(+), 27 deletions(-) create mode 100644 .gitmodules rename {tests => test}/options.bats (100%) create mode 100644 test/select.bats rename {tests => test}/use.bats (100%) delete mode 100644 tests/select.bats diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 372cb04..4991029 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: ./gitql -v - name: Run function tests - run: bats -r ./tests + run: bats -r ./test - uses: actions/upload-artifact@master name: Generating artifact @@ -75,7 +75,7 @@ jobs: ./gitql -v - name: Run function tests - run: bats -r ./tests + run: bats -r ./test - uses: actions/upload-artifact@master name: Generating artifact diff --git a/.gitignore b/.gitignore index 657a7eb..dc6c586 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ gitql .DS_Store .vscode* .idea/ -vendor \ No newline at end of file +vendor +test/test_helper/ +test/bats/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b7efcb4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "test/bats"] + path = test/bats + url = https://github.com/bats-core/bats-core.git +[submodule "test/test_helper/bats-support"] + path = test/test_helper/bats-support + url = https://github.com/bats-core/bats-support.git +[submodule "test/test_helper/bats-assert"] + path = test/test_helper/bats-assert + url = https://github.com/bats-core/bats-assert.git diff --git a/tests/options.bats b/test/options.bats similarity index 100% rename from tests/options.bats rename to test/options.bats diff --git a/test/select.bats b/test/select.bats new file mode 100644 index 0000000..fdf588d --- /dev/null +++ b/test/select.bats @@ -0,0 +1,58 @@ +setup() { + load 'test_helper/bats-support/load' + load 'test_helper/bats-assert/load' +} + +@test "Check exit code for select" { + run ./gitql 'select * from commits' + [ "$status" -eq 0 ] +} + +@test "Check like for select" { + run ./gitql -f json 'select message from commits where date > "2020-10-04" and date < "2020-10-06" and message like "update"' + assert_output '[{"message":"update Dockerfile (#97)"}]' +} + +@test "Check not like for select" { + run ./gitql -f json 'select message from commits where date > "2020-10-04" and date < "2020-10-06" and message not like "update"' + assert_output '[{"message":"Remove C dependencies (#95)"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build (#96)"},{"message":"Compile gitql with go-git support"}]' +} + +@test "Check in for select" { + run ./gitql -f json 'select distinct author from commits where "Tadeu" in author and date < "2021-01-01"' + assert_output '[{"author":"Tadeu Zagallo"}]' +} + +@test "Check count for select" { + run ./gitql -f json 'select count(*) from commits where date > "2020-10-09" and date < "2020-10-17"' + assert_output '[{"count":"17"}]' +} + +@test "Select distinct should works" { + run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17"' + assert_output '[{"author":"Claudson Oliveira"},{"author":"zweihander"},{"author":"Simon B"},{"author":"Pedro Silva"}]' +} + +@test "Select count should works" { + run ./gitql -f json 'select count(*) from commits where date < "2018-01-05"' + assert_output '[{"count":"192"}]' +} + +@test "Select should works with order and limit" { + run ./gitql -f json 'select date, message from commits where date < "2021-05-27" order by date desc limit 3' + assert_output '[{"date":"2021-05-26 23:09:31","message":"Add smoke test about count"},{"date":"2021-05-26 23:06:42","message":"Smoke test on select discinct"},{"date":"2021-05-26 23:04:36","message":"Remove bats for windows"}]' +} + +# bugs to be fixed + +@test "Check incorrect usage of in for select" { + skip "Should fail gracefully when using in the wrong way" + run ./gitql -f json 'select distinct author from commits where author in "Tadeu" and date < "2021-01-01"' + assert_output 'Unexpected T_IN after T_ID' +} + +@test "Check incorrect json output of select" { + skip "Should not return any other field than message" + run ./gitql -f json 'select message from commits where date < "2021-05-27" order by date desc limit 3' + assert_output '[{"message":"Add smoke test about count"},{"message":"Smoke test on select discinct"},{"message":"Remove bats for windows"}]' +} \ No newline at end of file diff --git a/tests/use.bats b/test/use.bats similarity index 100% rename from tests/use.bats rename to test/use.bats diff --git a/tests/select.bats b/tests/select.bats deleted file mode 100644 index c6105dc..0000000 --- a/tests/select.bats +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -@test "Check exit code for select" { - result="$(./gitql 'select * from commits')" - [ "$?" == "0" ] -} - -@test "Select discting should work" { - run ./gitql 'select distinct author from commits' - [ "$status" -eq 0 ] -} - -@test "Select count should work" { - run ./gitql 'select count(*) from commits' - [ "$status" -eq 0 ] -}@test "Select discting should work" { - run ./gitql 'select distinct author from commits' - [ "$status" -eq 0 ] -} - -@test "Select count should work" { - run ./gitql 'select count(*) from commits' - [ "$status" -eq 0 ] -} \ No newline at end of file From a28b2516a1bbe82c50a40a6328c1d241242804c0 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Fri, 28 May 2021 11:50:47 +0100 Subject: [PATCH 08/14] Github actions checkout with git submodules --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4991029..efb7bdb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,7 @@ jobs: - name: Check out code into the Go module directory uses: actions/checkout@v1 with: + submodules: true path: go/src/github.com/cloudson/gitql - name: Run tests @@ -63,6 +64,7 @@ jobs: - name: Check out code into the Go module directory uses: actions/checkout@v1 with: + submodules: true path: go/src/github.com/cloudson/gitql - name: Run tests @@ -95,6 +97,8 @@ jobs: - name: Check out code into the Go module directory uses: actions/checkout@v1 + with: + submodules: true - name: Run tests run: | From e19c9a1270f7c61537f68a1c10351c06c2fd93c4 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 14:08:09 +0100 Subject: [PATCH 09/14] Remove recursive tests --- .github/workflows/ci.yml | 4 ++-- test/select.bats | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index efb7bdb..ea9f3e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: ./gitql -v - name: Run function tests - run: bats -r ./test + run: bats ./test - uses: actions/upload-artifact@master name: Generating artifact @@ -77,7 +77,7 @@ jobs: ./gitql -v - name: Run function tests - run: bats -r ./test + run: bats ./test - uses: actions/upload-artifact@master name: Generating artifact diff --git a/test/select.bats b/test/select.bats index fdf588d..ceab5c6 100644 --- a/test/select.bats +++ b/test/select.bats @@ -39,7 +39,7 @@ setup() { } @test "Select should works with order and limit" { - run ./gitql -f json 'select date, message from commits where date < "2021-05-27" order by date desc limit 3' + run ./gitql -f json 'select date, message from commits where date < "2021-04-27" order by date desc limit 3' assert_output '[{"date":"2021-05-26 23:09:31","message":"Add smoke test about count"},{"date":"2021-05-26 23:06:42","message":"Smoke test on select discinct"},{"date":"2021-05-26 23:04:36","message":"Remove bats for windows"}]' } From 786cb7fb997cc7a07d2d9ad72ee69d80cf280ec2 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 14:17:37 +0100 Subject: [PATCH 10/14] Force to fetch all the branches on github actions --- .github/workflows/ci.yml | 3 +++ test/select.bats | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea9f3e5..57ae8a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,7 @@ jobs: uses: actions/checkout@v1 with: submodules: true + fetch-depth: 0 path: go/src/github.com/cloudson/gitql - name: Run tests @@ -65,6 +66,7 @@ jobs: uses: actions/checkout@v1 with: submodules: true + fetch-depth: 0 path: go/src/github.com/cloudson/gitql - name: Run tests @@ -98,6 +100,7 @@ jobs: - name: Check out code into the Go module directory uses: actions/checkout@v1 with: + fetch-depth: 0 submodules: true - name: Run tests diff --git a/test/select.bats b/test/select.bats index ceab5c6..d816c82 100644 --- a/test/select.bats +++ b/test/select.bats @@ -29,8 +29,8 @@ setup() { } @test "Select distinct should works" { - run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17"' - assert_output '[{"author":"Claudson Oliveira"},{"author":"zweihander"},{"author":"Simon B"},{"author":"Pedro Silva"}]' + run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17" order by date asc' + assert_output '[{"author":"Claudson Oliveira"},{"author":"Pedro Silva"},{"author":"Simon B"},{"author":"zweihander"}]' } @test "Select count should works" { From de69c11ca920b5954ab1a1e48efe010316f4001a Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 14:42:11 +0100 Subject: [PATCH 11/14] fix tests --- test/select.bats | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/select.bats b/test/select.bats index d816c82..02b4a97 100644 --- a/test/select.bats +++ b/test/select.bats @@ -29,7 +29,7 @@ setup() { } @test "Select distinct should works" { - run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17" order by date asc' + run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17" order by author asc' assert_output '[{"author":"Claudson Oliveira"},{"author":"Pedro Silva"},{"author":"Simon B"},{"author":"zweihander"}]' } @@ -40,7 +40,7 @@ setup() { @test "Select should works with order and limit" { run ./gitql -f json 'select date, message from commits where date < "2021-04-27" order by date desc limit 3' - assert_output '[{"date":"2021-05-26 23:09:31","message":"Add smoke test about count"},{"date":"2021-05-26 23:06:42","message":"Smoke test on select discinct"},{"date":"2021-05-26 23:04:36","message":"Remove bats for windows"}]' + assert_output '[{"date":"2020-10-27 20:42:43","message":"New shiny badges on README (#112)"},{"date":"2020-10-19 15:09:40","message":"Use database command (#110)"},{"date":"2020-10-19 00:35:30","message":"Add functional tests on select"}]' } # bugs to be fixed From 321914d725590dc520afac545738db9f634546e3 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 14:54:54 +0100 Subject: [PATCH 12/14] Do not rely on recent commits --- test/select.bats | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/test/select.bats b/test/select.bats index 02b4a97..1d021ad 100644 --- a/test/select.bats +++ b/test/select.bats @@ -14,8 +14,8 @@ setup() { } @test "Check not like for select" { - run ./gitql -f json 'select message from commits where date > "2020-10-04" and date < "2020-10-06" and message not like "update"' - assert_output '[{"message":"Remove C dependencies (#95)"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build"},{"message":"Build gitql using go build (#96)"},{"message":"Compile gitql with go-git support"}]' + run ./gitql -f json 'select message from commits where date > "2019-10-01" and date < "2019-11-01" and message not like "update"' + assert_output '[{"message":"Add github actions"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Build for windows on github actions"},{"message":"Generate artifacts after build"},{"message":"Build for windows on github actions"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to release gitql as a static file"}]' } @test "Check in for select" { @@ -24,13 +24,13 @@ setup() { } @test "Check count for select" { - run ./gitql -f json 'select count(*) from commits where date > "2020-10-09" and date < "2020-10-17"' - assert_output '[{"count":"17"}]' + run ./gitql -f json 'select count(*) from commits where date > "2019-10-09" and date < "2019-10-17"' + assert_output '[{"count":"29"}]' } @test "Select distinct should works" { - run ./gitql -f json 'select distinct author from commits where date > "2020-10-09" and date < "2020-10-17" order by author asc' - assert_output '[{"author":"Claudson Oliveira"},{"author":"Pedro Silva"},{"author":"Simon B"},{"author":"zweihander"}]' + run ./gitql -f json 'select distinct author from commits where date > "2019-10-01" and date < "2019-11-01" order by author asc' + assert_output '[{"author":"Arumugam Jeganathan"},{"author":"Claudson Oliveira"}]' } @test "Select count should works" { @@ -39,8 +39,8 @@ setup() { } @test "Select should works with order and limit" { - run ./gitql -f json 'select date, message from commits where date < "2021-04-27" order by date desc limit 3' - assert_output '[{"date":"2020-10-27 20:42:43","message":"New shiny badges on README (#112)"},{"date":"2020-10-19 15:09:40","message":"Use database command (#110)"},{"date":"2020-10-19 00:35:30","message":"Add functional tests on select"}]' + run ./gitql -f json 'select date, message from commits where date < "2020-10-01" order by date desc limit 3' + assert_output '[{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"},{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"},{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"}]' } # bugs to be fixed From 896b12c9a6dbc2ba8725860e6fb1b9cf2bc59019 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 16:05:49 +0100 Subject: [PATCH 13/14] Fix commits log --- runtime/commits.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/commits.go b/runtime/commits.go index fb25356..70f6126 100644 --- a/runtime/commits.go +++ b/runtime/commits.go @@ -8,14 +8,16 @@ import ( "github.com/cloudson/gitql/parser" "github.com/cloudson/gitql/utilities" + "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing/object" ) func walkCommits(n *parser.NodeProgram, visitor *RuntimeVisitor) (*TableData, error) { - iter, err := repo.CommitObjects() + head, err := repo.Head() if err != nil { return nil, err } + iter, err := repo.Log(&git.LogOptions{From: head.Hash()}) s := n.Child.(*parser.NodeSelect) where := s.Where From e7b0e3570f6934186c193afbe431fddc6b9e9938 Mon Sep 17 00:00:00 2001 From: Claudson Oliveira Date: Sat, 29 May 2021 16:15:50 +0100 Subject: [PATCH 14/14] fix tests --- test/select.bats | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/select.bats b/test/select.bats index 1d021ad..56775d0 100644 --- a/test/select.bats +++ b/test/select.bats @@ -15,7 +15,7 @@ setup() { @test "Check not like for select" { run ./gitql -f json 'select message from commits where date > "2019-10-01" and date < "2019-11-01" and message not like "update"' - assert_output '[{"message":"Add github actions"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Build for windows on github actions"},{"message":"Generate artifacts after build"},{"message":"Build for windows on github actions"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to dynamic compile for mac"},{"message":"Add support to release gitql as a static file"}]' + assert_output '[{"message":"Update How-To video with new prompts (#89)"},{"message":"Prepare v2.0.0 (#88)"},{"message":"Add support to static binaries (windows/linux amd64) (#87)"},{"message":"Add install libgit script (#86)"},{"message":"Add support to dynamic compile for mac (#85)"},{"message":"Add support to release gitql as a static file (#84)"}]' } @test "Check in for select" { @@ -25,7 +25,7 @@ setup() { @test "Check count for select" { run ./gitql -f json 'select count(*) from commits where date > "2019-10-09" and date < "2019-10-17"' - assert_output '[{"count":"29"}]' + assert_output '[{"count":"2"}]' } @test "Select distinct should works" { @@ -35,12 +35,12 @@ setup() { @test "Select count should works" { run ./gitql -f json 'select count(*) from commits where date < "2018-01-05"' - assert_output '[{"count":"192"}]' + assert_output '[{"count":"191"}]' } @test "Select should works with order and limit" { run ./gitql -f json 'select date, message from commits where date < "2020-10-01" order by date desc limit 3' - assert_output '[{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"},{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"},{"date":"2020-09-15 21:12:31","message":"Test libgit2 1.0.1"}]' + assert_output '[{"date":"2020-08-05 22:12:16","message":"Update README.md"},{"date":"2020-08-05 22:11:43","message":"Update README.md"},{"date":"2019-11-11 21:35:16","message":"Run tests on pull requests (#91)"}]' } # bugs to be fixed