profile
viewpoint
Matthieu Gautier mgautierfr France http://mgautier.fr I'm a freelance developer. I'm starmad on IRC.

kiwix/kiwix-desktop 160

Kiwix for Windows and GNU/Linux desktops

kiwix/kiwix-tools 131

Command line Kiwix tools: kiwix-serve, kiwix-manage, ...

kiwix/kiwix-build 47

Kiwix & openZIM build engine

kiwix/kiwix-lib 34

Common code base for all Kiwix ports

kiwix/kiwix-android-custom 6

Necessary data/tools for the Android custom apps

ideascube/bsfcampus-front 3

The frontend part of bsfcampus.

ideascube/bsfcampus-api 2

The backend part of bsfcampus.

mgautierfr/ediap 2

Ediap. A small python/tkinter to learn programming

ideascube/catalog-i-o 1

BSF's catalogs and related tools.

pull request commentopenzim/libzim

Move title indexes in a zim Entry.

@mgautierfr Why creating the “W” namespace and not using the “M”. To me, so far, the difference is pretty unclear/subtil. @rgaudin @veloman-yunkan Any opinion on this specific point?

If all content from the "M" namespace is public (i.e. makes sense for the users), then we better keep information about internals of the ZIM archive separately. With that point of view, it may make sense to keep the favicon path in the "M" namespace, and the path of the title indices in "W".

mgautierfr

comment created time in 12 hours

issue commentkiwix/kiwix-desktop

Missing categories in Browse by Category list

Looks like the last thing to do is to create a category “Mooc”. @rgaudin this will imply to change a few things on the ZIM toolchain. Do you believe this is a good idea?

Popolechien

comment created time in a day

issue commentkiwix/kiwix-desktop

Codebase: emiting a signal forcedly from outside is a bad practice

What could be an alternative approach?

asashnov

comment created time in a day

pull request commentkiwix/kiwix-desktop

Fixed #543 : Added a feature: Alt + <digit> to switch between tabs.

@rishabh-soni Hopefuly the last comment by @asashnov will help you to complete this PR. Otherwise please let us know.

rishabh-soni

comment created time in a day

pull request commentkiwix/kiwix-desktop

apply language filter to local library

@HanYoung-uwu I missed this PR. thank you. Asking for review.

HanYoung-uwu

comment created time in a day

issue closedopenzim/zim-tools

zimwritefs stuck (doesn't stop) when running out of free disk space

Version: current master (243e869d)

Steps to reproduce

  1. Prepare some not tiny HTML content, 66 mb is OK:
$ ~/oz/zim-tools/build/src/zimdump dump --dir=wikipedia_en_100_maxi \
   ZIM.files/wikipedia_en_100_maxi_2020-05.zim

$ du -hs wikipedia_en_100_maxi
66M

(source .zim 33 Mb, md5sum starts with 366d22bd)

  1. Prepare a small volume where we will place our resulting .zim with its temporary files:
$ dd if=/dev/zero of=50mb_volume.img bs=1M count=50
$ mkfs.ext4 50mb_volume.img
$ mkdir 50mb_vol
$ sudo mount -o loop 50mb_volume.img 50mb_vol
$ sudo chown -R `whoami` 50mb_vol
  1. Try to create .zim file inside this small volume:
$ ~/oz/zim-tools/build/src/zimwriterfs/zimwriterfs \
  --welcome=A/index --favicon=-/favicon --language=eng --title=mytest \
  --description=ThisIsATest --creator=self --publisher=self --inflateHtml \
  --verbose wikipedia_en_100_maxi 50mb_vol/result.zim
  1. In another console monitor the free space in the volume:
$ watch df -h 50mb_vol

Actual result:

In about 10 seconds available space on 50mb_vol becames 1,0K, sometimes turns to 0.

zimwriterfs has stuck at:

Visiting directory wikipedia_en_100_maxi/-/s
Visiting directory wikipedia_en_100_maxi/-/s/css_modules
Visiting directory wikipedia_en_100_maxi/M
T:12; A:3720; RA:476; CA:212; UA:3032; FA:3110; IA:101; C:29; CC:15; UC:14; WC:9
T:14; Waiting for workers

Expected result:

The program should immediately stop with error "No free space left in .zim file target directory". Additionally, temporary files may be removed (or it can be implemented separately with #174).

Additional information:

A small piece of strace while the program has stuck:

$ strace -f -p `pidof zimwriterfs`

[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366\36\370%\177\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366\36\370%\177"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366\36\370%"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366\36\370"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366\36"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260\366"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0\260"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "&\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\4&\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0\0"..., 4096) = -1 ENOSPC (No space left on device)
[pid 28765] write(3, "\1\4&\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0004\0"..., 4096) = -1 ENOSPC (No space left on device)

closed time in a day

asashnov

pull request commentopenzim/libzim

Move title indexes in a zim Entry.

@mgautierfr Why creating the “W” namespace and not using the “M”. To me, so far, the difference is pretty unclear/subtil. @rgaudin @veloman-yunkan Any opinion on this specific point?

mgautierfr

comment created time in a day

issue commentopenzim/zim-tools

zimdump list --ns=<N> doesn't work as a filter

Sure @kelson42, I'll start working on this one.

asashnov

comment created time in a day

issue commentopenzim/zim-tools

zimwritefs stuck (doesn't stop) when running out of free disk space

@kelson42 The message is terminate called without an active exception is a bit confusing here. In zimdump.cpp every throw runtime error was preceded by an std:cerr output. Perhaps that can be added here as well.

asashnov

comment created time in a day

issue commentopenzim/zim-tools

zimdump list --ns=<N> doesn't work as a filter

@maneeshpm Would you like to look at this bug? This is a pretty anooying one for users.

asashnov

comment created time in a day

issue commentopenzim/zim-tools

zimwritefs stuck (doesn't stop) when running out of free disk space

@maneeshpm Thank you for the investigation. This seems to me to be a proper handling, so if OK for @asashnov, I propose to close the issue.

asashnov

comment created time in a day

issue commentopenzim/zim-tools

zimwritefs stuck (doesn't stop) when running out of free disk space

@kelson42 the addFile() function is terminating abruptly on this zim file. Specifically, the parseAndAdaptHtml() function fails on the file A/Amarica which has the following content:

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0;url=A/United_States" /><head><body></body></html>

I am not sure if this behavior is related to the original issue, but as of now zimwriterfs generates the error I mentioned in the previous comment. This is stopping me from recreating the issue reported by @asashnov.

asashnov

comment created time in a day

pull request commentopenzim/libzim

Move title indexes in a zim Entry.

Please review carefully, I'm pretty sure there is a lot of corner case.

This PR requires special review - one not only has to analyze individual changes, but also think about things that had to be addressed but weren't. I think we will have similar PRs in the future too. I propose to facilitate making and reviewing such changes by maintaining a complete and up-to-date list of features, requirements, assumptions, components, etc, related to libzim. Then one can iterate over all bullets in that list and ask oneself if that particular aspect is affected. This is a general approach applicable to any complex project. I think that libzim has grown large enough that it cannot safely evolve at the anticipated rate without adopting such a process.

Besides, the coverage of libzim by unit-tests must be significantly increased. Relying on review is good but proving that the code works is better.

mgautierfr

comment created time in a day

pull request commentkiwix/kiwix-desktop

Fixed #544 : Crash on closing empty tab after Settings opened

So sorry didn't notice that it was already assigned. I will make sure that doesn't happen the next time.

rishabh-soni

comment created time in 2 days

pull request commentkiwix/kiwix-desktop

Fixed #544 : Crash on closing empty tab after Settings opened

@rishabh-soni Thank you very much. In the future try to not work on a ticket which is already assigned. Or at least ask before in a comment.

rishabh-soni

comment created time in 2 days

PR opened kiwix/kiwix-desktop

Settings tab bug
+1 -1

0 comment

1 changed file

pr created time in 2 days

pull request commentkiwix/kiwix-desktop

Fixes #358 - fade-out instead elide text (trim with...) in tabs

This pull request has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

asashnov

comment created time in 2 days

pull request commentkiwix/kiwix-desktop

WIP #454 Allow to move tabs

This pull request has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

asashnov

comment created time in 2 days

push eventkiwix/kiwix-build

ChrisLi

commit sha 41071d7c9b0f838c2e9cef6448d8a380a1b744f9

use brew list --formula (#468)

view details

push time in 2 days

delete branch kiwix/kiwix-build

delete branch : use_brew_list_formula

delete time in 2 days

PR merged kiwix/kiwix-build

Reviewers
Use brew ls --version

Home brew recently deprecated brew list, resulting in errors when determining if automake etc. exists:

(venv) chrisli@Chriss-Mac-Pro kiwix-build % kiwix-build --target-platform iOS_multi kiwix-lib
[INSTALL PACKAGES]
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - autoconf : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - automake : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - libtool : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - cmake : NEEDED

In this PR, I am updating the subprocess call used to determine if a certain brew formula is installed to brew ls --version

+1 -1

0 comment

1 changed file

automactic

pr closed time in 2 days

push eventkiwix/kiwix-lib

Matthieu Gautier

commit sha a231dfd8e4b31cfbe697279e2a28e7d019a6d50c

Build kiwix-lib only if meson is compiled with xapian.

view details

Kelson

commit sha a8a864f70e2d07a883e7cfc3b5964bf93fad329a

Merge pull request #434 from kiwix/mandatory_xapian Build kiwix-lib only if meson is compiled with xapian.

view details

push time in 2 days

delete branch kiwix/kiwix-lib

delete branch : mandatory_xapian

delete time in 2 days

PR merged kiwix/kiwix-lib

Build kiwix-lib only if meson is compiled with xapian.

Depends of openzim/libzim#465

+6 -1

4 comments

1 changed file

mgautierfr

pr closed time in 2 days

pull request commentkiwix/kiwix-lib

[WIP] Open zimfile by fd

@veloman-yunkan Can we merge the two PRs in libzim and libkiwix soon? Before libzim 7.0.0 release?

Yes. I will submit both PRs for review over the weekend.

veloman-yunkan

comment created time in 2 days

issue commentopenzim/libzim

Test failure encountered when building using kiwix-build

@mgautierfr Might that be linked to new libzim 7.0.0 release?

automactic

comment created time in 2 days

pull request commentkiwix/kiwix-lib

[WIP] Open zimfile by fd

@veloman-yunkan Can we merge the two PRs in libzim and libkiwix soon? Before libzim 7.0.0 release?

veloman-yunkan

comment created time in 2 days

issue openedopenzim/libzim

Test failure encountered when building using kiwix-build

Hey hey, I got an error when kiwix-build is testing libkiwix after build. Interestingly, it only fails when targeting native (both static and dynamic), it was successful when building against iOS.

Here are the logs:

(venv) chrisli@Chriss-Mac-Pro kiwix-build % kiwix-build --target-platform native_dyn kiwix-lib
[INSTALL PACKAGES]
 - autoconf : SKIP
 - automake : SKIP
 - libtool : SKIP
 - cmake : SKIP
 - pkg-config : SKIP
SKIP, No package to install.
[SETUP PLATFORMS]
[PREPARE]
prepare sources pugixml :
  download pugixml : SKIP
  extract pugixml : SKIP
  patch pugixml : SKIP
prepare sources lzma :
  download lzma : SKIP
  extract lzma : SKIP
prepare sources zstd :
  download zstd : SKIP
  extract zstd : SKIP
  patch zstd : SKIP
prepare sources zlib :
  download zlib : SKIP
  extract zlib : SKIP
  patch zlib : SKIP
prepare sources xapian-core :
  download xapian-core : SKIP
  extract xapian-core : SKIP
  patch xapian-core : SKIP
prepare sources icu4c :
  download icu4c : SKIP
  extract icu4c : SKIP
  patch icu4c : SKIP
prepare sources libzim :
  gitupdate libzim : OK (0.3s)
prepare sources libcurl :
  download libcurl : SKIP
  extract libcurl : SKIP
prepare sources libmicrohttpd :
  download libmicrohttpd : SKIP
  extract libmicrohttpd : SKIP
prepare sources mustache :
  download mustache : SKIP
  extract mustache : SKIP
prepare sources kiwix-lib :
  gitupdate kiwix-lib : OK (0.3s)
[BUILD]
build pugixml (native_dyn):
  configure pugixml : OK (0.5s)
  compile pugixml : OK (2.7s)
  test pugixml : OK (0.2s)
  install pugixml : OK (1.3s)
build lzma (native_dyn):
  configure lzma : OK (10.2s)
  compile lzma : OK (4.2s)
  install lzma : OK (1.2s)
build zstd (native_dyn):
  configure zstd : OK (1.6s)
  compile zstd : OK (7.0s)
  test zstd : OK (0.2s)
  install zstd : OK (0.2s)
build zlib (native_dyn):
  pre_build_script zlib : OK (0.1s)
  configure zlib : OK (0.8s)
  compile zlib : OK (1.2s)
  install zlib : OK (0.1s)
build xapian-core (native_dyn):
  configure xapian-core : OK (12.2s)
  compile xapian-core : OK (27.5s)
  install xapian-core : OK (1.7s)
build icu4c (native_dyn):
  configure icu4c : OK (6.2s)
  compile icu4c : .OK (45.5s)
  install icu4c : OK (1.2s)
build libzim (native_dyn):
  configure libzim : OK (1.9s)
  compile libzim : OK (6.4s)
  test libzim : ERROR
run command 'meson test --verbose -t 8'
current directory is '/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/libzim'
env is :
  TMPDIR : '/var/folders/tx/vx_1qqvx5wzgf2cr0dx6tvww0000gn/T/'
  __CFBundleIdentifier : 'com.apple.Terminal'
  XPC_FLAGS : '0x0'
  TERM : 'xterm-256color'
  SSH_AUTH_SOCK : '/private/tmp/com.apple.launchd.CXYnsvkJz9/Listeners'
  XPC_SERVICE_NAME : '0'
  TERM_PROGRAM : 'Apple_Terminal'
  TERM_PROGRAM_VERSION : '440'
  TERM_SESSION_ID : '539AE360-B9E3-4A05-97DB-08786EACBA31'
  SHELL : '/bin/zsh'
  HOME : '/Users/chrisli'
  LOGNAME : 'chrisli'
  USER : 'chrisli'
  PATH : '/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/bin:/Users/chrisli/Developer/kiwix-build/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin'
  SHLVL : '1'
  PWD : '/Users/chrisli/Developer/kiwix-build'
  OLDPWD : '/Users/chrisli/Developer'
  VIRTUAL_ENV : '/Users/chrisli/Developer/kiwix-build/venv'
  PS1 : '(venv) %n@%m %1~ %# '
  LANG : 'en_US.UTF-8'
  _ : '/Users/chrisli/Developer/kiwix-build/venv/bin/kiwix-build'
  __CF_USER_TEXT_ENCODING : '0x1F5:0x0:0x0'
  PKG_CONFIG_PATH : ':/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib/pkgconfig'
  LD_LIBRARY_PATH : ':/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib:/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib'
  QMAKE_CXXFLAGS : '-I/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/include '
  CPPFLAGS : '-I/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/include '
  QMAKE_LFLAGS : '-L/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib -L/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib '
  LDFLAGS : '-L/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib -L/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/INSTALL/lib '
ninja: Entering directory `/Users/chrisli/Developer/kiwix-build/BUILD_native_dyn/libzim'
ninja: no work to do.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 4 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from CacheTest
[ RUN      ] CacheTest.SimplePut
[       OK ] CacheTest.SimplePut (0 ms)
[ RUN      ] CacheTest.OverwritingPut
[       OK ] CacheTest.OverwritingPut (0 ms)
[ RUN      ] CacheTest.MissingValue
[       OK ] CacheTest.MissingValue (0 ms)
[----------] 3 tests from CacheTest (0 ms total)

[----------] 1 test from CacheTest1
[ RUN      ] CacheTest1.KeepsAllValuesWithinCapacity
[       OK ] CacheTest1.KeepsAllValuesWithinCapacity (0 ms)
[----------] 1 test from CacheTest1 (0 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 2 test cases ran. (0 ms total)
[  PASSED  ] 4 tests.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 7 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 7 tests from ClusterTest
[ RUN      ] ClusterTest.create_cluster
[       OK ] ClusterTest.create_cluster (0 ms)
[ RUN      ] ClusterTest.read_write_cluster
[       OK ] ClusterTest.read_write_cluster (1 ms)
[ RUN      ] ClusterTest.read_write_empty
[       OK ] ClusterTest.read_write_empty (0 ms)
[ RUN      ] ClusterTest.read_write_clusterLzma
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 6 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 6 tests from DirentTest
[ RUN      ] DirentTest.set_get_data_dirent
[       OK ] DirentTest.set_get_data_dirent (0 ms)
[ RUN      ] DirentTest.read_write_article_dirent
[       OK ] DirentTest.read_write_article_dirent (0 ms)
[ RUN      ] DirentTest.read_write_article_dirent_unicode
[       OK ] ClusterTest.read_write_clusterLzma (2 ms)
[ RUN      ] ClusterTest.read_write_clusterZstd
[       OK ] DirentTest.read_write_article_dirent_unicode (0 ms)
[ RUN      ] DirentTest.read_write_redirect_dirent
[       OK ] DirentTest.read_write_redirect_dirent (1 ms)
[ RUN      ] DirentTest.dirent_size
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from HeaderTest
[ RUN      ] HeaderTest.read_write_header
[       OK ] DirentTest.dirent_size (0 ms)
[ RUN      ] DirentTest.redirect_dirent_size
[       OK ] DirentTest.redirect_dirent_size (0 ms)
[----------] 6 tests from DirentTest (1 ms total)

[----------] Global test environment tear-down
[==========] 6 tests from 1 test case ran. (2 ms total)
[  PASSED  ] 6 tests.
[       OK ] HeaderTest.read_write_header (1 ms)
[----------] 1 test from HeaderTest (1 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[  PASSED  ] 1 test.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from UuidTest
[ RUN      ] UuidTest.construct
[       OK ] UuidTest.construct (0 ms)
[ RUN      ] UuidTest.generate
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from TemplateTest
[ RUN      ] TemplateTest.ZeroTemplate
[       OK ] TemplateTest.ZeroTemplate (0 ms)
[ RUN      ] TemplateTest.Token
[       OK ] TemplateTest.Token (0 ms)
[ RUN      ] TemplateTest.Link
[       OK ] TemplateTest.Link (0 ms)
[----------] 3 tests from TemplateTest (0 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test case ran. (0 ms total)
[  PASSED  ] 3 tests.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 7 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 7 tests from ZimArchive
[ RUN      ] ZimArchive.openingAnInvalidZimArchiveFails
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 5 tests from 3 test cases.
[----------] Global test environment set-up.
[----------] 1 test from ClusterIteratorTest
[ RUN      ] ClusterIteratorTest.getEntryByClusterOrder
[       OK ] ClusterIteratorTest.getEntryByClusterOrder (2 ms)
[----------] 1 test from ClusterIteratorTest (2 ms total)

[----------] 1 test from getEntry
[ RUN      ] getEntry.indexOutOfRange
[       OK ] getEntry.indexOutOfRange (0 ms)
[----------] 1 test from getEntry (0 ms total)

[----------] 3 tests from IteratorTests
[ RUN      ] IteratorTests.begin
[       OK ] IteratorTests.begin (2 ms)
[ RUN      ] IteratorTests.beginByTitle

[       OK ] IteratorTests.beginByTitle (0 ms)
[ RUN      ] IteratorTests.beginByPath
[       OK ] IteratorTests.beginByPath (0 ms)
[----------] 3 tests from IteratorTests (2 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 3 test cases ran. (4 ms total)
[  PASSED  ] 5 tests.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 5 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from NamespaceTest
[ RUN      ] NamespaceTest.BeginOffset
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[       OK ] NamespaceTest.BeginOffset (0 ms)
[----------] 1 test from CompressionTest/0, where TypeParam = LZMA_INFO
[ RUN      ] NamespaceTest.EndOffset
[ RUN      ] CompressionTest/0.compress
[       OK ] NamespaceTest.EndOffset (0 ms)
[ RUN      ] NamespaceTest.EndEqualStartPlus1
ns:  |32
ns: !|33
ns: "|34
ns: #|35
ns: $|36
ns: %|37
ns: &|38
ns: '|39
ns: (|40
ns: )|41
ns: *|42
ns: +|43
ns: ,|44
ns: -|45
ns: .|46
ns: /|47
ns: 0|48
ns: 1|49
ns: 2|50
ns: 3|51
ns: 4|52
ns: 5|53
ns: 6|54
ns: 7|55
ns: 8|56
ns: 9|57
ns: :|58
ns: ;|59
ns: <|60
ns: =|61
ns: >|62
ns: ?|63
ns: @|64
ns: A|65
ns: B|66
ns: C|67
ns: D|68
ns: E|69
ns: F|70
ns: G|71
ns: H|72
ns: I|73
ns: J|74
ns: K|75
ns: L|76
ns: M|77
ns: N|78
ns: O|79
ns: P|80
ns: Q|81
ns: R|82
ns: S|83
ns: T|84
ns: U|85
ns: V|86
ns: W|87
ns: X|88
ns: Y|89
ns: Z|90
ns: [|91
ns: \|92
ns: ]|93
ns: ^|94
ns: _|95
ns: `|96
ns: a|97
ns: b|98
ns: c|99
ns: d|100
ns: e|101
ns: f|102
ns: g|103
ns: h|104
ns: i|105
ns: j|106
ns: k|107
ns: l|108
ns: m|109
ns: n|110
ns: o|111
ns: p|112
ns: q|113
ns: r|114
ns: s|115
ns: t|116
ns: u|117
ns: v|118
ns: w|119
ns: x|120
ns: y|121
ns: z|122
ns: {|123
ns: ||124
ns: }|125
ns: ~|126
[       OK ] NamespaceTest.EndEqualStartPlus1 (1 ms)
[----------] 3 tests from NamespaceTest (1 ms total)

[----------] 2 tests from FindxTest
[ RUN      ] FindxTest.ExactMatch
[       OK ] FindxTest.ExactMatch (0 ms)
[ RUN      ] FindxTest.NoExactMatch
[       OK ] FindxTest.NoExactMatch (0 ms)
[----------] 2 tests from FindxTest (0 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 2 test cases ran. (1 ms total)
[  PASSED  ] 5 tests.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 4 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 4 tests from FindTests
[ RUN      ] FindTests.NotFoundByTitle
[       OK ] FindTests.NotFoundByTitle (1 ms)
[ RUN      ] FindTests.NotFoundByPath
[       OK ] FindTests.NotFoundByPath (2 ms)
[ RUN      ] FindTests.ByTitle
[       OK ] FindTests.ByTitle (1 ms)
[ RUN      ] FindTests.ByPath
I/s/WBC-Asset-Pencil-Hover.png
I/s/WBC-Asset-Pencil.png
I/s/ajax-loader.gif
I/s/arrow-down-focus-icon.png
I/s/arrow-down-icon.png
I/s/badge-digitaldocument.png
I/s/badge-golden-star.png
I/s/badge-problematic.png
I/s/badge-proofread.png
I/s/badge-silver-star.png
I/s/badge-validated.png
I/s/bullet-icon.png
I/s/cog-sprite.png
I/s/external-link-ltr-icon.png
I/s/magnify-clip-ltr.png
I/s/magnify-clip-rtl.png
I/s/page-fade.png
I/s/portal-break.png
I/s/search-fade.png
I/s/search-ltr.png
I/s/spinner.gif
I/s/tab-break.png
I/s/tab-current-fade.png
I/s/tab-normal-fade.png
I/s/unwatch-icon-hl.png
I/s/unwatch-icon.png
I/s/user-icon.png
I/s/watch-icon-hl.png
I/s/watch-icon-loading.png
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 2 tests from 1 test case.
I/s/watch-icon.png
[----------] Global test environment set-up.
I/s/wikibooks.png
[----------] 2 tests from IStreamReader
[ RUN      ] IStreamReader.read
[       OK ] IStreamReader.read (0 ms)
[       OK ] FindTests.ByPath (2 ms)
[ RUN      ] IStreamReader.sub_reader
[----------] 4 tests from FindTests (6 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 1 test case ran. (6 ms total)
[  PASSED  ] 4 tests.
[       OK ] IStreamReader.sub_reader (0 ms)
[----------] 2 tests from IStreamReader (0 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (1 ms total)
[  PASSED  ] 2 tests.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 4 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 2 tests from DecoderStreamReaderTest/0, where TypeParam = LZMA_INFO
[ RUN      ] DecoderStreamReaderTest/0.justCompressedData
[       OK ] DecoderStreamReaderTest/0.justCompressedData (1 ms)
[ RUN      ] DecoderStreamReaderTest/0.compressedDataFollowedByGarbage
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from ReaderDataStreamWrapper
[ RUN      ] ReaderDataStreamWrapper.shouldJustWork
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[       OK ] ReaderDataStreamWrapper.shouldJustWork (0 ms)
[----------] 1 test from ReaderDataStreamWrapper (0 ms total)

[----------] Global test environment tear-down
[----------] 1 test from BufferStreamer
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.
[ RUN      ] BufferStreamer.shouldJustWork
[       OK ] BufferStreamer.shouldJustWork (0 ms)
[----------] 1 test from BufferStreamer (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.
Running main() from ../../SOURCE/libzim/subprojects/googletest-release-1.8.1/googletest/src/gtest_main.cc
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from ParseLongPathTest
[ RUN      ] ParseLongPathTest.invalid
[       OK ] ParseLongPathTest.invalid (0 ms)
[ RUN      ] ParseLongPathTest.valid
[       OK ] ParseLongPathTest.valid (0 ms)
[----------] 2 tests from ParseLongPathTest (0 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (0 ms total)
[  PASSED  ] 2 tests.
[       OK ] ZimArchive.openingAnInvalidZimArchiveFails (27 ms)
[ RUN      ] ZimArchive.openingAnEmptyZimArchiveSucceeds
[       OK ] ZimArchive.openingAnEmptyZimArchiveSucceeds (0 ms)
[ RUN      ] ZimArchive.nastyEmptyZimArchive
[       OK ] ZimArchive.nastyEmptyZimArchive (15 ms)
[ RUN      ] ZimArchive.wrongChecksumInEmptyZimArchive
[       OK ] ZimArchive.wrongChecksumInEmptyZimArchive (0 ms)
[ RUN      ] ZimArchive.openRealZimArchive
[       OK ] DecoderStreamReaderTest/0.compressedDataFollowedByGarbage (31 ms)
[----------] 2 tests from DecoderStreamReaderTest/0 (32 ms total)

[----------] 2 tests from DecoderStreamReaderTest/1, where TypeParam = ZSTD_INFO
[ RUN      ] DecoderStreamReaderTest/1.justCompressedData
[       OK ] CompressionTest/0.compress (178 ms)
[----------] 1 test from CompressionTest/0 (178 ms total)

[----------] 1 test from CompressionTest/1, where TypeParam = ZSTD_INFO
[ RUN      ] CompressionTest/1.compress
[       OK ] ClusterTest.read_write_clusterZstd (312 ms)
[ RUN      ] ClusterTest.read_write_extended_cluster
[       OK ] DecoderStreamReaderTest/1.justCompressedData (299 ms)
[ RUN      ] DecoderStreamReaderTest/1.compressedDataFollowedByGarbage
[       OK ] DecoderStreamReaderTest/1.compressedDataFollowedByGarbage (278 ms)
[----------] 2 tests from DecoderStreamReaderTest/1 (577 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 2 test cases ran. (609 ms total)
[  PASSED  ] 4 tests.
[       OK ] UuidTest.generate (1002 ms)
[ RUN      ] UuidTest.output
[       OK ] UuidTest.output (0 ms)
[----------] 3 tests from UuidTest (1002 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test case ran. (1002 ms total)
[  PASSED  ] 3 tests.
[       OK ] ZimArchive.openRealZimArchive (1141 ms)
[ RUN      ] ZimArchive.validate
[       OK ] ZimArchive.validate (5 ms)
[ RUN      ] ZimArchive.multipart
[       OK ] ZimArchive.multipart (25 ms)
[----------] 7 tests from ZimArchive (1213 ms total)

[----------] Global test environment tear-down
[==========] 7 tests from 1 test case ran. (1213 ms total)
[  PASSED  ] 7 tests.
[       OK ] CompressionTest/1.compress (2296 ms)
[----------] 1 test from CompressionTest/1 (2297 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (2475 ms total)
[  PASSED  ] 2 tests.
unknown file: Failure
C++ exception with description "Cannot read" thrown in the test body.
[  FAILED  ] ClusterTest.read_write_extended_cluster (19136 ms)
[ RUN      ] ClusterTest.read_extended_cluster
[       OK ] ClusterTest.read_extended_cluster (1 ms)
[----------] 7 tests from ClusterTest (19452 ms total)

[----------] Global test environment tear-down
[==========] 7 tests from 1 test case ran. (19452 ms total)
[  PASSED  ] 6 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] ClusterTest.read_write_extended_cluster

 1 FAILED TEST
 1/16 lrucache                                OK       0.01 s 
 2/16 cluster                                 FAIL    19.47 s (exit status 1)
 3/16 dirent                                  OK       0.01 s 
 4/16 header                                  OK       0.01 s 
 5/16 uuid                                    OK       1.03 s 
 6/16 template                                OK       0.01 s 
 7/16 archive                                 OK       1.24 s 
 8/16 iterator                                OK       0.02 s 
 9/16 find                                    OK       0.02 s 
10/16 compression                             OK       2.52 s 
11/16 dirent_lookup                           OK       0.02 s 
12/16 istreamreader                           OK       0.01 s 
13/16 decoderstreamreader                     OK       0.65 s 
14/16 rawstreamreader                         OK       0.01 s 
15/16 bufferstreamer                          OK       0.01 s 
16/16 parseLongPath                           OK       0.01 s 

Ok:                   15
Expected Fail:         0
Fail:                  1
Unexpected Pass:       0
Skipped:               0
Timeout:               0



Stopping build due to errors

created time in 2 days

PR opened kiwix/kiwix-build

Use brew ls --version

Home brew recently deprecated brew list, resulting in errors when determining if automake etc. exists:

(venv) chrisli@Chriss-Mac-Pro kiwix-build % kiwix-build --target-platform iOS_multi kiwix-lib
[INSTALL PACKAGES]
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - autoconf : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - automake : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - libtool : NEEDED
Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
 - cmake : NEEDED

In this PR, I am updating the subprocess call used to determine if a certain brew formula is installed to brew ls --version

+1 -1

0 comment

1 changed file

pr created time in 2 days

create barnchkiwix/kiwix-build

branch : use_brew_list_formula

created branch time in 2 days

more