| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our ontology URLs now use a namespace that we manage, at
http://tracker.api.gnome.org/. This domain won't expire and can
redirect anywhere we want, so that it can always link to the
correct documentation for the ontologies.
We are going to continue using the Nepomuk name in the ontologies
that were developed by the Nepomuk project, despite changing the
URL. This way we acknowledge that we have downstream changes to
the Nepomuk ontologies but still provide a link to the original
shared vocabularies.
Fixes https://gitlab.gnome.org/GNOME/tracker/-/issues/162 and https://gitlab.gnome.org/GNOME/tracker/-/issues/104
|
|
|
|
| |
It's bumping to org.freedesktop.Tracker3.*
|
|\
| |
| |
| |
| | |
Functional test improvements
See merge request GNOME/tracker!207
|
| | |
|
|\ \
| |/
|/|
| |
| | |
Remove maemo ontology and tracker:defaultValue setting
See merge request GNOME/tracker!194
|
| |
| |
| |
| | |
It's very obsolete.
|
|\ \
| | |
| | |
| | |
| | | |
Some improvements for tracker-sandbox / run-uninstalled script
See merge request GNOME/tracker!197
|
| | |
| | |
| | |
| | |
| | |
| | | |
This code never executed because the sandbox would probably
have already crashed due to the D-Bus daemon exiting before
we wanted it to.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This means that if the user presses CTRL+C, the sandbox process will
handle it and will shut down processes cleanly, but the D-Bus daemon
will not receive the CTRL+C and will keep running until the sandbox
process tells it to stop. This prevents errors during shutdown of
Tracker processes which don't expect the message bus to have
already disappeared.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This means that Tracker instances created for testing and development
will begin empty, and will only contain content explicitly added by the
developer.
|
| |/
| |
| |
| |
| | |
The DConf settings will be stored inside the sandbox directory inside
the `config/dconf` subdirectory.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of tapping on the old TrackerSparqlScanner, use the grammar
definitions from the new parser. Also rewrite it in C.
This allows us to drop a whole bunch of the older parser code, which
only stood there to parse TTL files efficiently. The new SPARQL parser
code is designed to generate an intermediate expression tree, which is
great to increase liberty at the time of interpreting it, but not so great
at the time of deserializing randomly sized blobs of TTL data.
Even though this new TTL parser doesn't 100% use the infrastructure of
the new SPARQL parser, it taps on it for the essentials (parsing the
subject/predicate/object terminals), and also allows incremental TTL
loading without memory peaks. The advantages of the old TTL parser
(and the only reason why it stuck) are now moot.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit updates the functional tests in line with the
Tracker 3.0 architectural changes.
These tests used to spawn a private tracker-store daemon and communicate
over D-Bus. Most of the tests now create a local database in-process and
run tests against that, using the PyGObject bindings to drive
libtracker-sparql. It's good to test our Python bindings in this way.
Some tests also test connecting to a database over D-Bus. The 'fixtures'
module makes it easy to do either of these things.
The 08-unique-insertions test is gone, it claimed that "we can't test
tracker-miner-fs itself", but we can.
The 14-signals test is now a test of the TrackerNotifier API.
The 15-statistics test is removed as the API that it tests is gone.
Numbers were removed from the filenames of all tests.
It's debatable if the name "functional tests" really applies here any
more, perhaps a bigger distinction from the "unit tests" which also run
against libtracker-sparql is that these are written using Python and
PyGObject instead of C. In tracker-miners.git we will still be testing
multiple processes so the name will still make sense there.
|
|
|
|
|
| |
We no longer need to merge C/Vala gir files, thus we no longer need
this script.
|
|
|
|
|
|
| |
This may be useful for endpoints eg. implemented via application plugins,
as a single dbus path can't be relied otherwise. We still look up for
the /org/freedesktop/Tracker1/Endpoint object path by default.
|
|
|
|
| |
Those will want to connect to the tracker-miner-fs endpoint.
|
|
|
|
|
|
|
|
| |
We should check whether there was a match before handling the delete
events, as its handling might overwrite the match.
Also, this function should unset its transient data on exit, not just
on timeout.
|
|\
| |
| |
| |
| | |
trackertestutils: Set GVFS_DISABLE_FUSE in the sandbox
See merge request GNOME/tracker!148
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids an issue I experience sometimes when using
the `run-uninstalled` script. Since Tracker uses Gio APIs it
causes gvfsd to start on the private message bus, and this
by default starts gvfsd-fuse. However if the message bus shuts
down while gvfsd-fuse is starting, the gvfsd-fuse process doesn't
quit and instead stays around preventing the message bus from closing.
I did try to fix the issue in gvfsd-fuse. However the code has changed
recently so perhaps the issue is already fixed in 1.42.0.
|
|\ \
| | |
| | |
| | |
| | | |
Make trackertestutils easier for other projects to use
See merge request GNOME/tracker!147
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit makes the tracker-testutils-2.0 package more reusable.
The idea is that projects using Tracker can use this as a way to
sandbox their test suites from the user's real Tracker data.
In your meson.build file you would do something like this to locate
the script and run your test.
python3 = find_program('python3')
trackertestutils = dependency('tracker-testutils-2.0')
tracker_sandbox_command = find_program(trackertestutils.get_pkgconfig_variable('command'))
test('myapptest', tracker_sandbox_command,
args: ['--index-tmpdir', my_app_test_executable])
This would ensure that XDG_CACHE_HOME and XDG_DATA_HOME point to a
temporary directory, separate from any real Tracker index data that the
current user might have inside their XDG cache & data directories.
|
| | |
| | |
| | |
| | |
| | | |
We also now use `shutil.which()` to find the binary. This shouldn't change
anything as we were already looking in PATH for the binary.
|
| |/
| |
| |
| |
| | |
This fixes a regression from b68cef0297254aac79c which caused us to
remove the existing PATH when --prefix was used.
|
|/
|
|
|
|
|
|
| |
Meson provides a pkgconfig module to generate .pc files without any
need to defile stub files, but reusing libraries.
So just use this convenience feature instead of manually redefininig
variables and files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 8ae99192 we provide tracker test utils python modules.
These are installed by default in tracker internal libdir, and as per meson
default this is an arch-dependent path, while the test utils aren't.
So in some distributions, not to provide such files in multiple packages for
each architecture, we'd need to install those files somewhere else that is
not arch-dependent.
Unfortunately meson doesn't provide such path by default (which ideally
would be /usr/lib/tracker-${abi-version}), and I think isn't correct either
to install such files into the datadir, so in order to make this path
customizable and at the same time to make it possible to locate, provide
meson options and build a pkg config file for it, providing the python path
variable that should be used.
|
|
|
|
|
|
| |
I saw a test block after the 'Stopping 2 pipe reader threads' message.
This extra log message will help us narrow down the problem when it
reoccurs.
|
|
|
|
|
|
| |
This fixes a problem in the run-uninstalled script where CTRL+C would
kill the D-Bus daemon associated with an interactive shell, breaking
everything.
|
|
|
|
|
|
|
| |
This fixes a regression introduced in 14e557aad2675c8a07f680a2.
Tracker Sandbox now passes on the returncode from the subprocess
so that failing tests are noticed by `meson test` as expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes https://gitlab.gnome.org/GNOME/tracker/issues/111 and also
simplifies the instructions in the README for running Tracker from
the build tree.
The sandbox utility is now executed from the top directory by running:
python3 -m utils.trackertestutils
Previously, due to importing stuff from trackertestutils. you needed to
run it from the utils/ directory or set PYTHONPATH appropriately.
Additionally, tracker-miners.git will ship a 'run-uninstalled' script
to provide convenient access to the sandbox script and allow running
Tracker from the build tree.
|
|
|
|
|
|
|
|
|
|
|
| |
The default timeout of a GDBusProxy object is 25 seconds, but we were
reducing that to 5 seconds. This resulted in occasional test failures
(especially in functional-07-graph).
(The test failures would occur on systems with many CPUs where the tests
ran in parallel, which in practice meant they only failed in GitLab CI.
I found that I could reproduce the failure locally by running `meson
test --num-processes=100` though.)
|
|
|
|
|
|
|
|
|
|
| |
This reduces the volume of criticals like this that we see in the log
output:
(tracker-miner-fs:14955): GLib-GIO-CRITICAL **: 11:38:40.386: Error while sending AddMatch() message: The connection is closed
I did still see one test that output a bunch of similar criticals from
tracker-extract.
|
|
|
|
| |
This makes the tracker-sandbox utility more useful as a test harness.
|
|
|
|
|
| |
This allows tracker-sandbox to be used as a test runner for when the
daemons are not yet installed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of manually running and managing Tracker daemon processes
manually in the test, we now rely on our private D-Bus daemon to
do so.
This makes the test environment more like a real Tracker deployment.
Log output from the D-Bus daemon is now captured and output through
the Python logging system. This allows for finer-grained filtering
of output from the tests themselves and from the Tracker daemons.
Some test code is changed to support the new model.
|
|\
| |
| |
| |
| | |
Fully implement sparql1.1 query/update recommendations
See merge request GNOME/tracker!131
|
| |
| |
| |
| |
| | |
There may be a timeout id without a .poll(), so make sure we don't
leave the idle function running.
|
|/
|
|
|
|
|
|
|
|
|
| |
The `tracker-sandbox` tool is now a thin wrapper around the `tracker`
CLI. Effectively, this commit removes all functionality except the old
'--shell' mode. This way we avoid duplicating code paths and we make
sure that everyone is using and testing the `tracker` CLI.
The sandbox tool now captures all log output from the Tracker daemons,
instead of having them print directly to stdout. The old behaviour is
now enabled with the `--verbosity=` argument.
|
|
|
|
| |
I forgot about it!
|
|
|
|
|
|
| |
There are various features which were implemented in tracker-miners.git
since it was split from tracker.git which never made their way into
tracker.git.
|
|
|
|
|
| |
These are still needed for the test modules, but they are not needed in
the helper modules.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This module aims to reduce duplication between tracker.git and
tracker-miners.git. The idea is to share as much code as we can
between the different functional-tests. The tracker-sandbox
script will also be use this library.
The module is installed into Tracker's private library directory.
As it is only needed for development and testing, packagers should split
it into the appropriate -devel package.
|
|
|
|
|
|
| |
This error message no longer shows during normal operation:
Unexpected error: No such file or directory /home/sam/tracker-temp/run/dbus-session
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These libraries were listed as dependencies of libtracker-sparql,
causing them to be linked into everything further down the dependency
chain. This worked fine in the normal case, but broke when link-time
optimization (Meson's -Db_lto option) was enabled.
I probably did this because otherwise the
libtracker-sparql/tracker-sparql-2.0.vapi file doesn't get linked
automatically into the dependencies. We can't use the 'source' option
of `declare_dependency()` because this confuses Meson, but we can
manually add it in the 3 places that we actually use it.
Fixes https://gitlab.gnome.org/GNOME/tracker/issues/117
|
|
|
|
|
|
|
|
| |
* Remove unused imports
* Use the "with open" syntax
* Rewrite some strings to limit all lines to a maximum of 79
characters.
* Do not use the equality operator to compare False and None
|
|
|
|
|
|
|
| |
These aren't needed any more and actually prevent the Tracker store from
finding its ontologies. As long as the binaries aren't relocated after
they installed, Tracker should be able to find all its data files
without any help.
|
|
|
|
|
|
| |
It's now possible to do a fulltext search using --search, or a SPARQL
query with --sparql. This brings the sandbox tool in line with the
`tracker` CLI.
|
|
|
|
|
| |
This can cause errors if the session file is stale, so it needs to be
obvious when this is happening.
|