1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-14 01:50:22 -08:00
Commit graph

77 commits

Author SHA1 Message Date
Stefan Kangas
262d0c6acf Mark some tests as expensive
* test/lisp/autorevert-tests.el
(auto-revert-test00-auto-revert-mode)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired):
* test/lisp/cedet/semantic-utest-c.el
(semantic-test-c-preprocessor-simulation):
* test/lisp/cedet/srecode-utest-getset.el
(srecode-utest-getset-output):
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
* test/lisp/emacs-lisp/package-tests.el
(package-test-update-archives-async):
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test04-autorevert)
(file-notify-test05-file-validity, file-notify-test08-backup):
* test/lisp/net/gnutls-tests.el (test-gnutls-005-aead-ciphers):
* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
(shadow-test09-shadow-copy-files):
2020-09-10 20:25:19 +02:00
Glenn Morris
6ce2052558 Skip filenotify tests on hydra.nixos.org
They frequently hang for hours.
* test/lisp/filenotify-tests.el
(file-notify--test-remote-enabled-checked): Default to off on hydra.
2020-03-07 12:17:01 -08:00
Paul Eggert
5d4cf1fef8 Add ‘nofollow’ flag to set-file-times
This is a companion to the recent set-file-modes patch.
It adds support for a ‘nofollow’ flag to set-file-times (Bug#39773).
Like the set-file-modes patch, it needs work in the w32 port.
* admin/merge-gnulib (GNULIB_MODULES): Add futimens, utimensat.
Remove utimens.
* doc/lispref/files.texi (Changing Files):
* etc/NEWS: Mention the change.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/files.el (copy-directory):
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
* lisp/tar-mode.el (tar-copy):
* test/lisp/filenotify-tests.el (file-notify-test03-events):
* test/lisp/files-tests.el:
(files-tests-file-name-non-special-set-file-times):
* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
When setting file times, avoid following symbolic links
when the file is not supposed to be a symbolic link.
* lib/futimens.c, lib/utimensat.c, m4/futimens.m4, m4/utimensat.m4:
New files, copied from Gnulib.
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
When creating a file that is not supposed to exist already,
use the excl flag to check this.
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
Accept an optional FLAG arg that is currently ignored,
and add a FIXME comment for it.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* src/fileio.c (Fset_file_times):
Support an optional FLAG arg.
* src/fileio.c (Fcopy_file): Use futimens instead of set_file_times,
as it’s simpler and is a POSIX API.
* src/sysdep.c (set_file_times): Move from here ...
* src/w32.c (set_file_times): ... to here, and make it static,
since it is now used only in w32.c.  Presumably w32.c should also
add support for futimens and utimensat (the POSIX APIs, which
Emacs now uses) and it can remove fdutimens (the Gnulib API,
which Emacs no longer uses).
2020-03-07 12:15:43 -08:00
Michael Albinus
63f69e935e Minor cleanup in {autorevert,filenotify,shadowfile}-tests.el
* test/lisp/autorevert-tests.el (tramp-message-show-message):
* test/lisp/shadowfile-tests.el (tramp-message-show-message):
* test/lisp/filenotify-tests.el (tramp-message-show-message)
Do Not set.
(file-notify-test04-autorevert): Inhibit messages.
2020-01-22 11:45:26 +01:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Michael Albinus
fde614f4cc Another attempt to fix bug#32645
* test/lisp/autorevert-tests.el ()
(auto-revert-test02-auto-revert-deleted-file):
* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Check `file-notify-valid-p', not that the descriptor is nil.
2019-08-20 21:32:34 +02:00
Michael Albinus
a6a0e857d4 ; Fix typo in filenotify-tests.el 2019-08-02 20:13:44 +02:00
Michael Albinus
794f8f25b5 Call file notification actions properly in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify--test-wait-for-events):
Rename from `file-notify--wait-for-events'.  Adapt all callees.
(file-notify--test-cleanup): Reset also `file-notify--test-event'
and `file-notify--test-file nil'.
(file-notify--test-event-desc, file-notify--test-event-action):
New accessor functions.
(file-notify-test02-rm-watch, file-notify--test-event-test)
(file-notify--test-with-actions-check)
(file-notify--test-with-actions-explainer): Use them.
(file-notify--test-with-actions-check)
(file-notify--test-with-actions-explainer)
(file-notify--test-with-actions): Rename them from *-events-*.
Rename also internal variables accordingly.  Adapt all callees.
2019-07-31 21:22:48 +02:00
Mattias Engdegård
3a76484865 Don't use internal filenotify function in test
* test/lisp/filenotify-tests.el
(file-notify--test-file, file-notify--test-add-watch): New.
(file-notify--test-event-test, file-notify--test-event-handler)
(file-notify-test02-rm-watch, file-notify-test03-events)
(file-notify-test05-file-validity, file-notify-test07-many-events)
(file-notify-test08-backup, file-notify-test09-watched-file-in-watched-dir):
Avoid using the internal `file-notify--event-watched-file' so that it
can be removed from filenotify.el.
Instead, pass the file name to the callback as an extra argument;
use `file-notify--test-add-watch' instead of `file-notify-add-watch'.
2019-07-24 11:52:44 +02:00
Mattias Engdegård
5cfd8c508e Local definitions of accessors only used in test
* test/lisp/filenotify-tests.el (file-notify--test-event-file)
(file-notify--test-event-file1, file-notify--test-event-test)
(file-notify--test-event-handler):
Define accessors locally, so that they can be removed from filenotify.el.
2019-07-24 11:52:33 +02:00
Michael Albinus
0518e3ca98 Fix problem in remote file notification
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter): Do not kill the process.
Let `file-notify-rm-watch' do the job.

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir): Do not
special-case remote files.
2019-06-14 19:45:00 +02:00
Michael Albinus
10aa44a1dd ; SOme changes in filenotify-tests.el for EMBA
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir): Adapt for EMBA.
2019-05-05 13:34:26 +02:00
Michael Albinus
f82e0e5b76 Adapt tests for recent file-notification changes in Tramp
* lisp/net/tramp.el (tramp-file-notify-process-sentinel):
Pacify byte compiler.

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file):
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir): Adapt for remote
files.
2019-05-05 12:20:44 +02:00
Michael Albinus
d0fe28cb1d Add tests for remote files in auto-revert-tests
* lisp/autorevert.el (auto-revert-debug): New defvar.
(auto-revert-notify-handler): Write traces.

* lisp/filenotify.el (file-notify-debug): New defvar.
(file-notify-handle-event, file-notify-callback): Write traces.

* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
Handle nil `vc-handled-backends'.

* test/lisp/autorevert-tests.el
(auto-revert-test-remote-temporary-file-directory): New defconst.
Handle also $REMOTE_FILE_NOTIFY_LIBRARY.
(auto-revert--test-enabled-remote-checked): New defvar.
(auto-revert--test-enabled-remote): New defun.
(auto-revert--wait-for-revert): Rewrite without timeout.
(auto-revert--deftest-remote): New defmacro.
(auto-revert-test01-auto-revert-several-files):
(auto-revert-test02-auto-revert-deleted-file): Adapt for remote files.
(auto-revert-test02-auto-revert-deleted-file):
Use `auto-revert-debug' for debug messages.
(auto-revert-test00-auto-revert-mode-remote)
(auto-revert-test01-auto-revert-several-files-mode-remote)
(auto-revert-test02-auto-revert-deleted-file-mode-remote)
(auto-revert-test03-auto-revert-tail-mode-mode-remote)
(auto-revert-test04-auto-revert-mode-dired-mode-remote): New tests.

* test/lisp/filenotify-tests.el (file-notify--test-event-handler):
Use `file-notify-debug' for debug messages.
2019-05-03 17:18:13 +02:00
Michael Albinus
05d53d8886 Some rearragements for remote tests in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Change argument list, EXPECTED is not needed.
(file-notify-test07-many-events-remote)
(file-notify-test09-watched-file-in-watched-dir-remote):
Adapt declaration accordingly.
2019-04-14 19:53:38 +02:00
Michael Albinus
bfa9e7452c Fix last patch 2019-04-13 11:12:16 +02:00
Michael Albinus
ae21fb3dbc Replace (skip-unless nil) by tag :unstable in test packages
* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Use tag :unstable if SKIP is non-nil.

* test/lisp/net/tramp-tests.el (tramp-test36-vc-registered):
Use ert-skip instead of (skip-unless nil).

* test/lisp/progmodes/python-tests.el
(python-tests--python-nav-end-of-statement--infloop): Use tag
:unstable instead of (skip-unless nil).
2019-04-13 10:58:17 +02:00
Michael Albinus
49e253a0f8 Fix problem in filenotify-tests
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Adapt `accept-process-output' argument.

* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Remove :unstable tag.
2019-01-30 15:30:04 +01:00
Michael Albinus
1f82ab7d4e * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Tag as :unstable.
2019-01-29 22:17:06 +01:00
Michael Albinus
b513feb812 ; Format filenotify-tests.el 2019-01-07 16:59:43 +01:00
Michael Albinus
536e6dea0f Adapt tests for emba
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
2019-01-07 14:04:17 +01:00
Michael Albinus
cfa54ab7d8 Adapt filenotify-tests for emba
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
2019-01-06 15:42:57 +01:00
Michael Albinus
fe4922cbf0 Mark some filenotify tests unstable on emba
* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Mark them as
:unstable on emba.
2019-01-03 18:55:11 +01:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Michael Albinus
452d0c52cd Fix Bug#33735
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
Delete empty lines.  (Bug#33735)
(tramp-sh-inotifywait-process-filter): Use `string-match'.
(tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.

* test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
(file-notify--deftest-remote): Suppress vc-handled-backends.
(file-notify-test08-backup): Do not expect failure on hydra.
(Bug#33735).
2018-12-21 13:53:20 +01:00
Michael Albinus
f1faf85f00 * test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
Don't require tramp-sh, bug#33781 is fixed.
2018-12-21 09:41:04 +01:00
Glenn Morris
dc3f70dc8f Skip a remote filenotify test on hydra
* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Add optional argument to skip test.
(file-notify-test07-many-events-remote): Skip on hydra.nixos.org.
2018-12-18 23:21:37 -08:00
Glenn Morris
5486a46d3e A filenotify test now passes on hydra
* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Remote test now passes on hydra.nixos.org, since PATH
workaround for bug#33781.
2018-12-18 08:25:55 -08:00
Glenn Morris
2c3f7f9c45 Avoid tests failures on hydra due to Tramp autoload changes
* test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
* test/lisp/net/tramp-tests.el: Require tramp-sh before changing
tramp-remote-path.
2018-12-17 13:52:46 -05:00
Glenn Morris
aca60820e1 Suppress filenotify remote test failures on hydra.nixos.org
* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
Add optional argument to pass expected-result.
(file-notify-test04-autorevert-remote)
(file-notify-test08-backup-remote): Expect failure on hydra (bug#33735).
2018-12-15 15:04:24 -08:00
Ken Brown
5dc3d0a9b0 Fix a filenotify test failure on Cygwin
* test/lisp/filenotify-tests.el
(file-notify-test04-autorevert): Increase a sleep-for time
from 2 to 3 on Cygwin.  This avoids sporadic failures of the
test.  (Bug#32363)
2018-08-03 15:33:33 -04:00
Juri Linkov
f4eeb0f5ae * lisp/subr.el (dotimes): Deprecate RESULT field. (Bug#16206)
* doc/lispref/control.texi (Iteration):
* doc/misc/cl.texi (Iteration): Document deprecation of its use.
* doc/lispintro/emacs-lisp-intro.texi (dotimes):
* test/src/emacs-module-tests.el (multiply-string):
* test/lisp/filenotify-tests.el (file-notify-test07-many-events):
Place RESULT field after the form.
2018-04-28 23:20:33 +03:00
Michael Albinus
344750aef4 Handle quoted remote file names for file notifications
* lisp/filenotify.el (file-notify-add-watch): Do not suppress
other file name handlers when FILE is quoted.

* test/lisp/filenotify-tests.el
(file-notify-test-remote-temporary-file-directory):
Beware quoted `temporary-file-directory'.

* test/lisp/files-tests.el
(files-tests-file-name-non-special-quote-unquote): Improve test.
2018-02-02 18:51:25 +01:00
Michael Albinus
d0fd9809d7 Finish changes in autorevert from commit 530bb2dc68
* lisp/autorevert.el (auto-revert-buffers):
Check `auto-revert-timer' being a timerp.

* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Adapt test in order to cover changed behavior of autorevert.
2018-01-22 09:12:16 +01:00
Michael Albinus
35e4a0def9 * test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests. 2018-01-19 14:59:48 +01:00
Michael Albinus
3efb1e7def Fix Bug#30057
* test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
(file-notify--test-cleanup, file-notify--test-make-temp-name)
(file-notify-test01-add-watch, file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir)
(file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
2018-01-10 13:39:17 +01:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Glenn Morris
5ab91020fb Use a more specific test for running on hydra.nixos.org
* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
* test/Makefile.in (WRITE_LOG):
* test/lisp/filenotify-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-6):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor):
* test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
2017-07-18 12:53:46 -04:00
Michael Albinus
caf9244980 (Re-)activate remote tests of filenotify-tests.el
* test/lisp/filenotify-tests.el
(file-notify-test-remote-temporary-file-directory):
Declare default host for mock method.  Offer home directory
for mock method if it doesn't exist.
(file-notify-test09-watched-file-in-watched-dir-remote):
Remove, it doesn't work reliably.
2017-07-03 16:12:10 +02:00
Ken Brown
5e2cf8c804 Skip a test from filenotify-tests.el on Cygwin
* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
Skip the last part of the test on Cygwin; it fails due to timing
issues.
(file-notify--test-read-event):  Remove `sit-for' that was added
for Cygwin.
2017-05-08 15:11:23 -04:00
Michael Albinus
ebff4177e2 Fix filenotify-tests.el for cygwin
* test/lisp/filenotify-tests.el (file-notify--test-read-event):
Add an additional `sit-for'.
(file-notify-test02-rm-watch): Add an additional
`file-notify--test-read-event' call.
2017-05-01 12:16:15 +02:00
Andreas Politz
158bb8555d Fix issues regarding inotify file-notification
Remove special code handling the inotify back-end.
* lisp/filenotify.el (file-notify--watch): New struct
representing a file-watch.
(file-notify-descriptors): Use the new struct as hash-value.
(file-notify-handle-event): Check that event is a cons.
(file-notify--rm-descriptor, file-notify--event-watched-file)
(file-notify--event-file-name, file-notify--event-file1-name)
(file-notify-callback, file-notify-add-watch)
(file-notify-rm-watch, file-notify-valid-p): Use new struct.
Remove special code handling inotify descriptors.  Remove code
handling multiple clients per descriptor.
(file-notify--descriptor): Remove unused function.

Let inotify-add-watch return a unique descriptor on every
call, like every other back-end does (Bug#26126).  Prevent
multiple clients from interfering with each other, when
watching a shared descriptor.
* src/inotify.c (watch_list): Extend the format by including a
id and the provided mask.
(INOTIFY_DEFAULT_MASK): Default mask used for all clients.
(make_watch_descriptor): Removed.
(make_lispy_mask, lispy_mask_match_p): New functions.
(inotifyevent_to_event): Match event against the mask provided
by the client.
(add_watch, remove_descriptor, remove_watch): New functions
for managing the watch_list.
(inotify_callback): Use the new functions.
(Finotify_add_watch, Finotify_rm_watch): Remove deprecated
flags from documentation.  Add check for validity of provided
descriptor.  Use the new functions.  Use the default mask.
(INOTIFY_DEBUG): Add new debug conditional.
(inotify-watch-list, inotify-allocated-p): New debug functions.
(symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.

* test/lisp/filenotify-tests.el:
(file-notify-test02-rm-watch): Remove expected failure for inotify.
2017-03-26 09:21:56 +02:00
Michael Albinus
560d6f9124 Fix filenotify.el issue for kqueue
* lisp/filenotify.el (file-notify-add-watch): Use directory
for remote file name handlers.

* test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
Create/delete temporary file only for "kqueue".
(file-notify-test02-rm-watch): Create/delete temporary files.
2017-03-22 19:33:03 +00:00
Michael Albinus
716b468489 Extend `file-notify-test02-rm-watch'
* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
Expect it failed for inotify.  Divide tests into different
`unwind-protect' clauses.  Check, that removing watch
descriptors out of order do not harm.  (Bug#26126)
2017-03-22 14:15:45 +01:00
Michael Albinus
6b2f3ba02a Fix Bug#26127
* lisp/filenotify.el (file-notify--rm-descriptor): Check, that
there is a function which could be called.  (Bug#26127)

* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
Clear also `file-notify-descriptors'.
(file-notify--test-make-temp-name): Move up.
(file-notify-test02-rm-watch): New test.
(file-notify-test03-events, file-notify-test04-autorevert)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir)
(file-notify-test10-sufficient-resources): Rename.
2017-03-17 10:25:46 +01:00
Michael Albinus
e3b6596308 Modify suppressing `vc-refresh-state' in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
Use an advice rather than an alias for suppressing `vc-refresh-state'.
2017-02-08 19:33:52 +01:00
Michael Albinus
c8ee570a8b Suppress undesired error messages in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
Suppress `vc-refresh-state', it produces undesired error messages.
2017-02-07 21:42:12 +01:00
Gemini Lasswell
ef3d8d6f72 New macro 'ert-with-message-capture'
* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
(Bug#25158)

* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-test00-auto-revert-mode)
(auto-revert-test01-auto-revert-several-files)
(auto-revert-test02-auto-revert-deleted-file)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired):
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
ert-with-message-capture.
2017-02-04 13:36:43 +02:00