Closed fjvxmap closed 1 year ago
Sounds good to me.
I believe these are needed in order to add gtest:
(I want to make sure I understood correctly.)
Since you have been working on Makefile, I think it would be better for you to take that part. And I think any of us can work on the c++ code as long as we agree on the code structure.
You've understood the process for adding gtest correctly. I will take care of adding tests to the Makefile and integrating GitHub Actions. I will merge the makefile branch now. And I will also create a test branch where we can collectively work on writing the test code.
In the case of GI repository, the entry point for testing is test_main.cpp
.
However, since VEQ_S repository is still in the process of refactoring, it would be difficult to add another entry point.
So for now, I will simply add a new argument in main.cpp
to trigger testing.
Because of this, gtest.h
will be required to compile main.cpp
.
It seems like the current version of gtest doesn't support c++11. (gtest releases) Therefore, we will need to use version v.12.1 or less.
It seems like the current version of gtest doesn't support c++11. (gtest releases) Therefore, we will need to use version v.12.1 or less.
In my local environment, the gtest module doesn't support versions below C++14, so I used C++14. Although we can individually run tests locally, it might be a good idea to unify the compiler version to match the environment for future CI tests.
I agree that we should unify the compiler version. We will have to check if it is okay to update the version to C++14. In my local computer, I was able to install gtest v12 by cloning the repository from github and compiling. (Stackoverflow link)
During our recent meeting, I heard that @gina0605 is in the process of implementing CI. As our tasks might overlap, I'd like to organize our CI-related responsibilities. I was considering adopting gtest, which was used in the Graph Isomorphism repository, to set up testing. It seems necessary to discuss how we should proceed with test implementation and its structure.