nextcloud / cookbook

🍲 A library for all your recipes
https://apps.nextcloud.com/apps/cookbook
GNU Affero General Public License v3.0
522 stars 90 forks source link

Fix automated test scripts for Mac users #2441

Open christianlupus opened 1 month ago

christianlupus commented 1 month ago

I'd love to take a crack at the parser issue, but I'm finding it quite difficult to set up testing locally. I created a sample html and json file in tests/Unit/Helper/HTMLParser/res_JsonLd/ and added the test case to tests/Unit/Helper/HTMLParser/HttpJsonLdParserTest.php, but how do I debug the test? I tried following the instructions in the quickstart guide but the command seems to fail to build a test fixture.

python3 ./run-locally.py --create-fixture stable25 stable25 --activate-fixture stable25

I'm on a Mac if that matters. There's a lot of these "permission denied" lines in chown, and then it fails after.

chown: changing ownership of '/var/www/html/SECURITY.md': Permission denied
chown: changing ownership of '/var/www/html/psalm.xml': Permission denied
chown: changing ownership of '/var/www/html/.htaccess': Permission denied
chown: changing ownership of '/var/www/html/.idea/codeStyleSettings.xml': Permission denied
chown: changing ownership of '/var/www/html/.idea': Permission denied
Running the main script as user runner
Cannot write into "config" directory!
This can usually be fixed by giving the web server write access to the config directory.

But, if you prefer to keep config.php file read only, set the option "config_is_read_only" to true in it.
See https://docs.nextcloud.com/server/25/go.php?to=admin-config
Elapsed time (Server installation): 19.896853178999997
[T] Running auxiliary post-install scripts
[T] Installation of NC server is finished.
Elapsed time (Server installed): 59.537169513
Elapsed time (Environment preparation): 61.698601778000004
Elapsed time (Installation of plain server): 61.698678821
[D] Creating sub-fixture in volumes/dumps/fixtures/stable25/plain
[T] Save the data files
rsync: --delete-delay: unknown option
rsync error: syntax or usage error (code 1) at /AppleInternal/Library/BuildRoots/f84c363d-9006-11ee-8578-1ae9d66b0597/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(1337) [client=2.6.9]
Traceback (most recent call last):
  File "/Users/ben/Nextcloud/Projects/cookbook/.github/actions/run-tests/./run-locally.py", line 79, in <module>
    subfixture.create(fixturePath, name='plain', db=db, sql_type=sql_type)
  File "/Users/ben/Nextcloud/Projects/cookbook/.github/actions/run-tests/test_runner/dumps.py", line 197, in create
    self.__cloneFiles(subFixturePath)
  File "/Users/ben/Nextcloud/Projects/cookbook/.github/actions/run-tests/test_runner/dumps.py", line 26, in __cloneFiles
    p.pr.run(
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['rsync', 'volumes/data/', 'volumes/dumps/fixtures/stable25/plain/data', '--delete', '--delete-delay', '--delete-excluded', '--archive']' returned non-zero exit status 1.

Originally posted by @wenbenz in https://github.com/nextcloud/cookbook/issues/1675#issuecomment-2251989317

This indicates some problem with the docker unit testing environment under Mac. Should be fixed in some way.

christianlupus commented 1 month ago

@seyfeb are you using Mac as well? I do not have access to one, so I fear, I am a bit lost on this... At least to test if this happens for all Mac users.