1
0
mirror of https://github.com/avinal/avinal.github.io.git synced 2026-07-04 07:40:09 +05:30
Files
avinal a196ac4391 added hugo website
Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>

rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED
2024-03-30 12:44:19 +05:30

101 lines
4.5 KiB
Markdown

---
category: gsoc
date: 2021-08-06T22:47:00
description: This week I worked on CMake testing configuration. Most of the time was
spent understanding the previous testing architecture.
image: /images/tech-wallpaper-11.webp
tags:
- gsoc
- FOSSology
title: Coding Week 9 Meeting
---
This week I worked on CMake testing configuration. Most of the time was spent understanding the previous testing architecture.
## Week 9 Progress
> Initial CMake testing configuration added.
>
> - Few tests working, e.g copyright, nomos
> - Improved packaging configurations
> - To test the current progress, follow the instructions [here](https://github.com/avinal/FOSSology/wiki#test-the-new-system-only-gcc-with-make-and-ninja-tested-for-now)
## Discussions
- **Is this a necessity that tests must be run as the fossy user?
Because when I run tests as me they as for permissions. But proceeds
as the fossy user.**
- No this is not required and this should not happen. They run under
fossy as they sometimes require writing into /srv/fossology. But if
they can run under other users that is an enhancement.
- **I am getting a lot of install issues in C/C++ agent tests?**
``` bash
Start 3: delagent_unit_test
3: Test command: /home/avinal/Documents/my_git/fossology/build/src/delagent/agent_tests/test_delagent
3: Test timeout computed to be: 10000000
3: install: cannot stat '/home/avinal/Documents/my_git/fossology/build/src/delagent/agent_tests/..//../../install/defconf/Db.conf': No such file or directory
3: install: cannot stat '/home/avinal/Documents/my_git/fossology/build/src/delagent/agent_tests/..//VERSION': No such file or directory
3: sh: 1: ../../../testing/db/createTestDB.php: not found
3: Failed to run ../../../testing/db/createTestDB.php -c /home/avinal/Documents/my_git/fossologbuild/src/delagent/agent_tests/testconf -e, exit code is:127 .
3/8 Test #3: delagent_unit_test ...............***Failed 0.02 sec
```
- Not sure about the reason. I was suspecting Makefile but since they
are gone now, I think PHP files are calling some shell commands
causing this.
- **Suggestions/Changes from Gaurav for fixing tests.**
- For clib-tests, it needs to be called from PHP file (via PHPUnit) as
it requires setting up a dummy repo. Check the
`src/lib/c/test/Makefile`
- For missing services.xml, the test cases include
`src/lib/php/common-container.php` which loads the file. It expects
it to be in current dir. Can be solved in two ways
- Create another common-container.php just for test cases with
correct paths.
- Edit the current file and take the help of environment variables.
For example, if a test variable is exported in env, find the XML
relative to it otherwise continue as normal and this variable can
be exported by CMake during the test.
- Scheduler tests do need `fossology_testconfig` from Makefile.deps
which set up the srv and create test configurations, DB, etc.
- Another shell script can be written to do all that and call it
from CMake. The PHP file called makes everything required in /tmp
so not an issue.
- The locations like `LOG_DIR, FOSSDB_CONF`, etc. in CMakeLists.txt
can be changed to some other values. I am guessing this is the
reason you were asked for the fossy password.
- File `src/copyright/agent_tests/Functional/cli_test.sh` needs to be
edited to take paths relative to build dir. It can also be made into
a .in file which is generated from CMake? So every path can easily
be updated.
- For PHP agents with missing version.php issue, there is a hack
possible
- Check
<https://www.php.net/manual/en/function.set-include-path.php>
- Another hack will be to use soft links for version.php in the
source.
- Other PHP issues like
`PHP Fatal error: Uncaught Error: Class 'Fossology\Lib\Agent\Agent' not found`
can only be solved by editing composer.json before doing composer
install (look for autoload: psr-4 ).
- For delagent, pkgagent, mimetype issues, something can be done here:
<https://github.com/avinal/fossology/blob/avinal/feat/testing/src/testing/db/c/libfodbreposysconf.c#L349>
## Conclusion and Further Plans
- Raise a pull request for all the progress till now.
- Refactor the test source code according to suggestions.
- Implement remaining testing configurations.
## Attendees
- [Gaurav Mishra](https://github.com/GMishx)
- [Anupam Ghosh](https://github.com/ag4ums)
- [Avinal Kumar](https://github.com/avinal)