tests/index/racy.c


Log

Author Commit Date CI Message
Edward Thomson 8edadbf9 2016-03-07T17:37:17 index::racy: force racy entry Instead of hoping that we can get a racy entry by going real fast and praying real hard, just create a racy entry.
Edward Thomson 4afe536b 2016-02-28T16:02:49 tests: use legitimate object ids Use legitimate (existing) object IDs in tests so that we have the ability to turn on strict object validation when running tests.
Edward Thomson 35439f59 2016-02-11T12:24:21 win32: introduce p_timeval that isn't stupid Windows defines `timeval` with `long`, which we cannot sanely cope with. Instead, use a custom timeval struct.
Dmitriy Olshevskiy 91f0d186 2015-12-21T20:49:14 typos in comments
Patrick Steinhardt a7bd157e 2015-11-30T17:40:49 tests: fix warning for nested struct initialization
Jacques Germishuys 87428c55 2015-11-20T20:48:51 Fix some warnings
Edward Thomson 5f32c506 2015-11-16T18:06:52 racy: make git_index_read_index handle raciness Ensure that `git_index_read_index` clears the uptodate bit on files that it modifies. Further, do not propagate the cache from an on-disk index into another on-disk index. Although this should not be done, as `git_index_read_index` is used to bring an in-memory index into another index (that may or may not be on-disk), ensure that we do not accidentally bring in these bits when misused.
Edward Thomson c30051f0 2015-11-16T18:05:46 racy: ensure git_index_read_tree clears uptodate Ensure that `git_index_read_tree` clears the uptodate bit on files that it modifies.
Edward Thomson 956f4da8 2015-11-13T16:30:39 index: test for smudged entries on write only Test that entries are only smudged when we write the index: the entry smudging is to prevent us from updating an index in a way that it would be impossible to tell that an item was racy. Consider when we load an index: any entries that have the same (or newer) timestamp than the index itself are considered racy, and are subject to further scrutiny. If we *save* that index with the same entries that we loaded, then the index would now have a newer timestamp than the entries, and they would no longer be given that additional scrutiny, failing our racy detection! So test that we smudge those entries only on writing the new index, but that we can detect them (in diff) without having to write.
Edward Thomson d1101263 2015-11-13T15:32:48 index: don't detect raciness in uptodate entries Keep track of entries that we believe are up-to-date, because we added the index entries since the index was loaded. This prevents us from unnecessarily examining files that we wrote during the cleanup of racy entries (when we smudge racily clean files that have a timestamp newer than or equal to the index's timestamp when we read it). Without keeping track of this, we would examine every file that we just checked out for raciness, since all their timestamps would be newer than the index's timestamp.
Axel Rasmussen 0226f7dd 2015-08-29T13:59:20 diff/index: respect USE_NSEC for racily clean file detection
Edward Thomson 2cf33fee 2015-06-29T15:20:34 index test: include repository.h for decl
Carlos Martín Nieto 24fa21f3 2015-06-26T18:59:53 index, iterator, fetchhead: plug leaks
Carlos Martín Nieto 6e611f7c 2015-06-22T14:17:39 index: add a diff test for smudging a file which becomes empty Even though the file is empty and thus the size in the entry matches, we should be able to detect it as a difference.
Carlos Martín Nieto 27133caf 2015-06-20T17:20:07 tests: move racy tests to the index They fit there much better, even though we often check by diffing, it's about the behaviour of the index.