mirror of
https://github.com/avinal/avinal.github.io.git
synced 2026-07-04 15:50:08 +05:30
1fd232f751
Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
99 lines
4.5 KiB
Markdown
99 lines
4.5 KiB
Markdown
---
|
|
title: Coding Week 9 Meeting
|
|
date: 2021-08-06 22:47
|
|
tags: [gsoc, FOSSology]
|
|
category: gsoc
|
|
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"
|
|
---
|
|
|
|
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)
|