From fcbe00774f070be2dcbdc10b07678e02bf2f094b Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Wed, 18 Jun 2014 11:05:18 +0200
Subject: Add unittest for binary size of package header (should fail on 64
 bit).

---
 test/Makefile.am     |  7 +++++--
 test/test_package.cc | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 2 deletions(-)
 create mode 100644 test/test_package.cc

diff --git a/test/Makefile.am b/test/Makefile.am
index c58c537..24ca765 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,5 +1,4 @@
-TESTS = multiplexer
-# pseudoclass
+TESTS = multiplexer package
 
 check_PROGRAMS = $(TESTS)
 
@@ -7,3 +6,7 @@ multiplexer_CXXFLAGS = $(CPPUNIT_CFLAGS) -DOUTPUT=\"multiplexer\" \
   -I.. -I../../lib $(PQ_CFLAGS) -I$(top_srcdir)/hugin
 multiplexer_LDFLAGS = $(CPPUNIT_LIBS) $(PTHREAD_LIBS)
 multiplexer_SOURCES = test.cc test_multiplexer.cc
+
+package_CXXFLAGS = $(CPPUNIT_CFLAGS) -DOUTPUT=\"package\"
+package_LDFLAGS = $(CPPUNIT_LIBS)
+package_SOURCES = test.cc test_package.cc
diff --git a/test/test_package.cc b/test/test_package.cc
new file mode 100644
index 0000000..951ae1a
--- /dev/null
+++ b/test/test_package.cc
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ *            test_package.cc
+ *
+ *  Wed Jun 18 10:55:07 CEST 2014
+ *  Copyright  2005 Bent Bisballe Nyeng
+ *  deva@aasimon.org
+ ****************************************************************************/
+
+/*
+ *  This file is part of MIaV.
+ *
+ *  MIaV is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  MIaV is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with MIaV; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "../src/package.h"
+
+class test_package : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE(test_package);
+	CPPUNIT_TEST(test_size);
+	CPPUNIT_TEST_SUITE_END();
+
+public:
+	void setUp() { }
+
+	void tearDown() { }
+
+  void test_size() {
+    CPPUNIT_ASSERT_EQUAL(48, (int)sizeof(n_header));
+    CPPUNIT_ASSERT_EQUAL(4, (int)sizeof(n_savestate));
+    CPPUNIT_ASSERT_EQUAL(4, (int)sizeof(n_header_type));
+
+    n_header hdr;
+    CPPUNIT_ASSERT_EQUAL(44, (int)sizeof(hdr.header));
+    CPPUNIT_ASSERT_EQUAL(44, (int)sizeof(hdr.header.h_data));
+    CPPUNIT_ASSERT_EQUAL(4, (int)sizeof(hdr.header.h_info));
+  }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(test_package);
-- 
cgit v1.2.3