git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[JGIT PATCH 12/12] Add PackIndex specific tests, currently only iterators tests

From
MZMarek Zawirski <marek.zawirski@gmail.com>
Date
Jun 2, 2008, 21:24 UTC
Message-ID
<1212441883-12990-13-git-send-email-marek.zawirski@gmail.com>
In-Reply-To
<1212441883-12990-12-git-send-email-marek.zawirski@gmail.com>

Abstract PackIndexTest added, with specializations for v1 and v2 indexes. New dedicated indexes files for v2 tests created.

Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
---
 .../tst/org/spearce/jgit/lib/PackIndexTest.java    |  152 ++++++++++++++++++++
 .../tst/org/spearce/jgit/lib/PackIndexV1Test.java  |   54 +++++++
 .../tst/org/spearce/jgit/lib/PackIndexV2Test.java  |   54 +++++++
 ...-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2 |  Bin 0 -> 1296 bytes
 ...-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2 |  Bin 0 -> 2976 bytes
 5 files changed, 260 insertions(+), 0 deletions(-)
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexTest.java
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV1Test.java
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV2Test.java
 create mode 100644 org.spearce.jgit.test/tst/pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2
 create mode 100644 org.spearce.jgit.test/tst/pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2
diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexTest.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexTest.java
new file mode 100644
index 0000000..c682153
--- /dev/null
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexTest.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2008, Marek Zawirski <marek.zawirski@gmail.com>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Git Development Community nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.spearce.jgit.lib;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.spearce.jgit.lib.PackIndex.MutableEntry;
+
+public abstract class PackIndexTest extends RepositoryTestCase {
+
+	PackIndex smallIdx;
+
+	PackIndex denseIdx;
+
+	public void setUp() throws Exception {
+		super.setUp();
+		smallIdx = PackIndex.open(getFileForPack34be9032());
+		denseIdx = PackIndex.open(getFileForPackdf2982f28());
+	}
+
+	/**
+	 * Return file with appropriate index version for prepared pack.
+	 * 
+	 * @return file with index
+	 */
+	public abstract File getFileForPack34be9032();
+
+	/**
+	 * Return file with appropriate index version for prepared pack.
+	 * 
+	 * @return file with index
+	 */
+	public abstract File getFileForPackdf2982f28();
+
+	/**
+	 * Test contracts of Iterator methods and this implementation remove()
+	 * limitations.
+	 */
+	public void testIteratorMethodsContract() {
+		Iterator<PackIndex.MutableEntry> iter = smallIdx.iterator();
+		while (iter.hasNext()) {
+			iter.next();
+		}
+
+		try {
+			iter.next();
+			fail("next() unexpectedly returned element");
+		} catch (NoSuchElementException x) {
+			// expected
+		}
+
+		try {
+			iter.remove();
+			fail("remove() shouldn't be implemented");
+		} catch (UnsupportedOperationException x) {
+			// expected
+		}
+	}
+
+	/**
+	 * Test results of iterator comparing to content of well-known (prepared)
+	 * small index.
+	 */
+	public void testIteratorReturnedValues1() {
+		Iterator<PackIndex.MutableEntry> iter = smallIdx.iterator();
+		assertEquals("4b825dc642cb6eb9a060e54bf8d69288fbee4904", iter.next()
+				.toString());
+		assertEquals("540a36d136cf413e4b064c2b0e0a4db60f77feab", iter.next()
+				.toString());
+		assertEquals("5b6e7c66c276e7610d4a73c70ec1a1f7c1003259", iter.next()
+				.toString());
+		assertEquals("6ff87c4664981e4397625791c8ea3bbb5f2279a3", iter.next()
+				.toString());
+		assertEquals("82c6b885ff600be425b4ea96dee75dca255b69e7", iter.next()
+				.toString());
+		assertEquals("902d5476fa249b7abc9d84c611577a81381f0327", iter.next()
+				.toString());
+		assertEquals("aabf2ffaec9b497f0950352b3e582d73035c2035", iter.next()
+				.toString());
+		assertEquals("c59759f143fb1fe21c197981df75a7ee00290799", iter.next()
+				.toString());
+		assertFalse(iter.hasNext());
+	}
+
+	/**
+	 * Compare offset from iterator entries with output of findOffset() method.
+	 */
+	public void testCompareEntriesOffsetsWithFindOffsets() {
+		for (MutableEntry me : smallIdx) {
+			assertEquals(smallIdx.findOffset(me), me.getOffset());
+		}
+		for (MutableEntry me : denseIdx) {
+			assertEquals(denseIdx.findOffset(me), me.getOffset());
+		}
+	}
+
+	/**
+	 * Test partial results of iterator comparing to content of well-known
+	 * (prepared) dense index, that may need multi-level indexing.
+	 */
+	public void testIteratorReturnedValues2() {
+		Iterator<PackIndex.MutableEntry> iter = denseIdx.iterator();
+		while (!iter.next().toString().equals(
+				"0a3d7772488b6b106fb62813c4d6d627918d9181")) {
+			// just iterating
+		}
+		assertEquals("1004d0d7ac26fbf63050a234c9b88a46075719d3", iter.next()
+				.toString()); // same level-1
+		assertEquals("10da5895682013006950e7da534b705252b03be6", iter.next()
+				.toString()); // same level-1
+		assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8", iter.next()
+				.toString());
+	}
+
+}
diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV1Test.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV1Test.java
new file mode 100644
index 0000000..dda3ef4
--- /dev/null
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV1Test.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2008, Marek Zawirski <marek.zawirski@gmail.com>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Git Development Community nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.spearce.jgit.lib;
+
+import java.io.File;
+
+public class PackIndexV1Test extends PackIndexTest {
+	@Override
+	public File getFileForPack34be9032() {
+		return new File(new File("tst"),
+				"pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idx");
+	}
+
+	@Override
+	public File getFileForPackdf2982f28() {
+		return new File(new File("tst"),
+				"pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idx");
+	}
+}
diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV2Test.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV2Test.java
new file mode 100644
index 0000000..8267e48
--- /dev/null
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/PackIndexV2Test.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2008, Marek Zawirski <marek.zawirski@gmail.com>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Git Development Community nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.spearce.jgit.lib;
+
+import java.io.File;
+
+public class PackIndexV2Test extends PackIndexTest {
+	@Override
+	public File getFileForPack34be9032() {
+		return new File(new File("tst"),
+				"pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2");
+	}
+
+	@Override
+	public File getFileForPackdf2982f28() {
+		return new File(new File("tst"),
+				"pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2");
+	}
+}
diff --git a/org.spearce.jgit.test/tst/pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2 b/org.spearce.jgit.test/tst/pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2
new file mode 100644
index 0000000000000000000000000000000000000000..1d45fa811a1855a9ac71e5237c8aa91e502e8224
GIT binary patch
literal 1296
zcmexg;-AdGz`z8=qk#AjU<4{9gh6473o`@dsEJvC=1~i?0?i@^vjO$d1G59|p%>-=
z+BG7ucT?;!r_*^m7bHCO{&8(m$M1KZEFoNG7tPK)+Ih42X!CLTZsRZiw>mnnChbt!
z^F&^+;^TY=7k)p;U=*4EqsA>|hMe>Cr0|I+URm#sSE^jxbZkfK{{-$Qs#{)7yZ1cy
zlxlS5^9i~kWxrHrSM8bGa!fG1s?kE8S$)-h{a<fpd)9LXm}=Wa=oT}_D3~6d9{JJv
zxBMd+$;!t2rOV$jXtK{dw9P4^Xl?kR{{l-YO*Yluad-asB!%0wTTA?O9Jh7!G6n{@
zG+>qt24*>6K48)T#v2b%%mOHO4anZ)^4)OqwtbqDxeqp+n<8~%>Q9^4X-{K**qkZ&
S;_1>JC~?!}g1(aBk0JolEO)B_

literal 0
HcmV?d00001

diff --git a/org.spearce.jgit.test/tst/pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2 b/org.spearce.jgit.test/tst/pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2
new file mode 100644
index 0000000000000000000000000000000000000000..ccbf00e34fb8de324c5fe3f584b80bdb99e02df0
GIT binary patch
literal 2976
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
L#~L@=K-~WTG^vnn

literal 0
HcmV?d00001
-- 
1.5.5.1
Previous: Marek ZawirskiNext: Robin Rosenberg
Message 13 of 24 in “Extensions in core needed by PackWriter”
  1. 00/12 Extensions in core needed by PackWriterMarek Zawirski, Jun 2, 2008
  2. 01/12 Format PackFile classMarek Zawirski, Jun 2, 2008
  3. 02/12 Format PackIndex classMarek Zawirski, Jun 2, 2008
  4. 03/12 Format PackIndexV1 classMarek Zawirski, Jun 2, 2008
  5. 04/12 Add getType() method to RevObject hierarchyMarek Zawirski, Jun 2, 2008
  6. 05/12 Replace instanceof in WalkFetchConnection with getType()Marek Zawirski, Jun 2, 2008
  7. 06/12 Move PackFile.SIGNATURE to Constants.PACK_SIGNATUREMarek Zawirski, Jun 2, 2008
  8. 07/12 Add overload of fromRaw() in MutableObjectId accepting int[]Marek Zawirski, Jun 2, 2008
  9. 08/12 Copying constructor of MutableObjectIdMarek Zawirski, Jun 2, 2008
  10. 09/12 Add getSize() method to ObjectIdSubclassMapMarek Zawirski, Jun 2, 2008
  11. 10/12 Add getObjectCount() method to PackFileMarek Zawirski, Jun 2, 2008
  12. 11/12 Entries iterator in PackIndex and indirectly PackFileMarek Zawirski, Jun 2, 2008
  13. 12/12 Add PackIndex specific tests, currently only iterators testsMarek Zawirski, Jun 2, 2008
  14. Robin RosenbergJun 6, 2008
  15. 09/12 Add size() method to ObjectIdSubclassMapMarek Zawirski, Jun 7, 2008
  16. Robin RosenbergJun 6, 2008
  17. 04/12 Add getType() method to RevObject hierarchyMarek Zawirski, Jun 7, 2008
  18. Johannes SchindelinJun 2, 2008
  19. Marek ZawirskiJun 2, 2008
  20. Johannes SchindelinJun 2, 2008
  21. Robin RosenbergJun 6, 2008
  22. Marek ZawirskiJun 7, 2008
  23. Shawn O. PearceJun 7, 2008
  24. Robin RosenbergJun 10, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.