]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Remove Vector, Stack and related unit tests
authorFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 11 Feb 2014 13:14:09 +0000 (14:14 +0100)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 11 Feb 2014 13:14:09 +0000 (14:14 +0100)
include/Stack.h [deleted file]
src/DelayUser.h
src/Makefile.am
src/base/Makefile.am
src/base/Vector.cc [deleted file]
src/base/Vector.h [deleted file]
src/tests/testVector.cc [deleted file]
src/tests/testVector.h [deleted file]
test-suite/Makefile.am
test-suite/StackTest.cc [deleted file]

diff --git a/include/Stack.h b/include/Stack.h
deleted file mode 100644 (file)
index ac1ec17..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * AUTHOR: Alex Rousskov
- *
- * SQUID Web Proxy Cache          http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- *  Squid is the result of efforts by numerous individuals from
- *  the Internet community; see the CONTRIBUTORS file for full
- *  details.   Many organizations have provided support for Squid's
- *  development; see the SPONSORS file for full details.  Squid is
- *  Copyrighted (C) 2001 by the Regents of the University of
- *  California; see the COPYRIGHT file for full details.  Squid
- *  incorporates software developed and/or copyrighted by other
- *  sources; see the CREDITS file for full details.
- *
- *  This program 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.
- *
- *  This program 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 this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-
-#ifndef SQUID_STACK_H
-#define SQUID_STACK_H
-
-#include "base/Vector.h"
-
-/* RBC: 20030714 Composition might be better long-term, but for now,
- * there's no reason to do so.
- */
-
-template <class S = void *>
-
-class Stack : public Vector<S>
-{
-public:
-    using Vector<S>::count;
-    using Vector<S>::items;
-    typedef typename Vector<S>::value_type value_type;
-    typedef typename Vector<S>::pointer pointer;
-    value_type pop() {
-        if (Vector<S>::empty())
-            return value_type();
-
-        value_type result = items[--count];
-
-        this->items[count] = value_type();
-
-        return result;
-    }
-
-    /* todo, fatal on empty Top call */
-    value_type top() const {
-        return count ? items[count - 1] : value_type();
-    }
-
-    void push(S item) {
-        Vector<S>::push_back(item);
-    }
-};
-
-#endif /* SQUID_STACK_H */
index 6ac274791c2dada93235aef87ebfdf81320e23d7..9bc88f411d9e5df0a91d0e0543c15cb70ea5f486 100644 (file)
@@ -38,7 +38,6 @@
 
 #include "auth/Gadgets.h"
 #include "auth/User.h"
-#include "base/Vector.h"
 #include "CompositePoolNode.h"
 #include "DelayBucket.h"
 #include "DelayIdComposite.h"
index 400f3153d52f6e9771343a0dc29d7a56e6905aee..c0568c1ead3e3bdedeb7266b439a5a621d8a7f78 100644 (file)
@@ -1077,8 +1077,7 @@ check_PROGRAMS+=\
        tests/testSBuf \
        tests/testSBufList \
        tests/testConfigParser \
-       tests/testStatHist \
-       tests/testVector
+       tests/testStatHist
 
 if HAVE_FS_ROCK
 check_PROGRAMS += tests/testRock
@@ -3826,21 +3825,6 @@ tests_testStatHist_LDADD = \
        $(COMPAT_LIB)
 tests_testStatHist_DEPENDENCIES = $(SQUID_CPPUNIT_LA)
 
-tests_testVector_SOURCES = \
-       tests/testVector.cc \
-       tests/testMain.cc \
-       tests/testVector.h
-nodist_tests_testVector_SOURCES = \
-       $(TESTSOURCES)
-tests_testVector_LDADD= \
-       $(SQUID_CPPUNIT_LIBS) \
-       $(COMPAT_LIB) \
-       $(XTRA_LIBS)
-tests_testVector_LDFLAGS = $(LIBADD_DL)
-tests_testVector_DEPENDENCIES = \
-       $(SQUID_CPPUNIT_LA)
-
-
 TESTS += testHeaders
 
 ## Special Universal .h dependency test script
index 80533ad4268b1dc1a7c3f2379ee03a4fd9586913..3591294cf80886a98f9853c9fb5589c49f4372e9 100644 (file)
@@ -23,9 +23,7 @@ libbase_la_SOURCES = \
        RunnersRegistry.h \
        Subscription.h \
        TextException.cc \
-       TextException.h \
-       Vector.cc \
-       Vector.h
+       TextException.h
 
 EXTRA_PROGRAMS = \
        testCharacterSet
diff --git a/src/base/Vector.cc b/src/base/Vector.cc
deleted file mode 100644 (file)
index afc420a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * AUTHOR: Alex Rousskov
- *
- * SQUID Web Proxy Cache          http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- *  Squid is the result of efforts by numerous individuals from
- *  the Internet community; see the CONTRIBUTORS file for full
- *  details.   Many organizations have provided support for Squid's
- *  development; see the SPONSORS file for full details.  Squid is
- *  Copyrighted (C) 2001 by the Regents of the University of
- *  California; see the COPYRIGHT file for full details.  Squid
- *  incorporates software developed and/or copyrighted by other
- *  sources; see the CREDITS file for full details.
- *
- *  This program 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.
- *
- *  This program 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 this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-
-/*
- * Array is an array of (void*) items with unlimited capacity
- *
- * Array grows when arrayAppend() is called and no space is left
- * Currently, array does not have an interface for deleting an item because
- *     we do not need such an interface yet.
- */
-
-#include "squid.h"
-#include "base/Vector.h"
-
-#if HAVE_ASSERT_H
-#include <assert.h>
-#endif
-#if HAVE_STRING_H
-#include <string.h>
-#endif
diff --git a/src/base/Vector.h b/src/base/Vector.h
deleted file mode 100644 (file)
index 05d58f1..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * AUTHOR: Alex Rousskov
- *
- * SQUID Web Proxy Cache          http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- *  Squid is the result of efforts by numerous individuals from
- *  the Internet community; see the CONTRIBUTORS file for full
- *  details.   Many organizations have provided support for Squid's
- *  development; see the SPONSORS file for full details.  Squid is
- *  Copyrighted (C) 2001 by the Regents of the University of
- *  California; see the COPYRIGHT file for full details.  Squid
- *  incorporates software developed and/or copyrighted by other
- *  sources; see the CREDITS file for full details.
- *
- *  This program 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.
- *
- *  This program 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 this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-#ifndef SQUID_ARRAY_H
-#define SQUID_ARRAY_H
-
-/**
- \todo remove this after replacing with STL
- */
-
-#include "fatal.h"
-#include "util.h"
-
-/* users of this template also need assert() */
-#include "compat/assert.h"
-
-/* iterator support */
-#include <iterator>
-
-template <class C>
-class VectorIteratorBase
-{
-public:
-    typedef typename C::value_type value_type;
-    typedef std::forward_iterator_tag iterator_category;
-    typedef typename C::pointer pointer;
-    typedef typename C::reference reference;
-    typedef typename C::difference_type difference_type;
-
-    VectorIteratorBase();
-    VectorIteratorBase(C &);
-    VectorIteratorBase(size_t, C &);
-    VectorIteratorBase & operator =(VectorIteratorBase const &);
-    bool operator != (VectorIteratorBase const &rhs) const;
-    bool operator == (VectorIteratorBase const &rhs) const;
-    VectorIteratorBase & operator ++();
-    VectorIteratorBase operator ++(int);
-    typename C::value_type & operator *() const {
-        return theVector->items[pos];
-    }
-
-    typename C::value_type * operator -> () const {
-        return &theVector->items[pos];
-    }
-
-    ssize_t operator - (VectorIteratorBase const &rhs) const;
-    bool incrementable() const;
-
-private:
-    size_t pos;
-    C * theVector;
-};
-
-template<class E>
-class Vector
-{
-public:
-    typedef E value_type;
-    typedef E* pointer;
-    typedef E& reference;
-    typedef VectorIteratorBase<Vector<E> > iterator;
-    typedef VectorIteratorBase<Vector<E> const> const_iterator;
-    typedef ptrdiff_t difference_type;
-    friend class VectorIteratorBase<Vector<E> >;
-    friend class VectorIteratorBase<Vector<E> const>;
-    void *operator new (size_t);
-    void operator delete (void *);
-
-    Vector();
-    ~Vector();
-    Vector(Vector const &);
-    Vector &operator = (Vector const &);
-    void clear();
-    void reserve (size_t capacity);
-    void push_back (E);
-
-    void insert (E);
-    const E &front() const;
-    E &front();
-    E &back();
-    void pop_back();
-    E shift();         // aka pop_front
-    void prune(E);
-    void preAppend(int app_count);
-    inline bool empty() const;
-    inline size_t size() const;
-    iterator begin();
-    const_iterator begin () const;
-    iterator end();
-    const_iterator end () const;
-    E& at(unsigned i);
-    const E& at(unsigned i) const;
-    inline E& operator [] (unsigned i);
-    inline const E& operator [] (unsigned i) const;
-    E* data() const { return items; }
-
-protected:
-    size_t capacity;
-    size_t count;
-    E *items;
-};
-
-template<class E>
-void *
-Vector<E>::operator new(size_t size)
-{
-    return xmalloc(size);
-}
-
-template<class E>
-void
-Vector<E>::operator delete (void *address)
-{
-    xfree (address);
-}
-
-template<class E>
-Vector<E>::Vector() : capacity (0), count(0), items (NULL)
-{}
-
-template<class E>
-Vector<E>::~Vector()
-{
-    clear();
-}
-
-template<class E>
-void
-Vector<E>::clear()
-{
-    /* could also warn if some objects are left */
-    delete[] items;
-    items = NULL;
-    capacity = 0;
-    count = 0;
-}
-
-/* grows internal buffer to satisfy required minimal capacity */
-template<class E>
-void
-Vector<E>::reserve(size_t min_capacity)
-{
-    const int min_delta = 16;
-    int delta;
-
-    if (capacity >= min_capacity)
-        return;
-
-    delta = min_capacity;
-
-    /* make delta a multiple of min_delta */
-    delta += min_delta - 1;
-
-    delta /= min_delta;
-
-    delta *= min_delta;
-
-    /* actual grow */
-    if (delta < 0)
-        delta = min_capacity - capacity;
-
-    E*newitems = new E[capacity + delta];
-
-    for (size_t counter = 0; counter < size(); ++counter) {
-        newitems[counter] = items[counter];
-    }
-
-    capacity += delta;
-    delete[]items;
-    items = newitems;
-}
-
-template<class E>
-void
-Vector<E>::push_back(E obj)
-{
-    if (size() >= capacity)
-        reserve (size() + 1);
-
-    items[count++] = obj;
-}
-
-template<class E>
-void
-Vector<E>::insert(E obj)
-{
-    if (size() >= capacity)
-        reserve (size() + 1);
-
-    int i;
-
-    for (i = count; i > 0; i--)
-        items[i] = items[i - 1];
-
-    items[i] = obj;
-
-    count += 1;
-}
-
-template<class E>
-E
-Vector<E>::shift()
-{
-    assert (size());
-    value_type result = items[0];
-
-    for (unsigned int i = 1; i < count; i++)
-        items[i-1] = items[i];
-
-    count--;
-
-    /*reset the last (unused) element...*/
-    items[count] = value_type();
-
-    return result;
-}
-
-template<class E>
-void
-Vector<E>::pop_back()
-{
-    assert (size());
-    --count;
-    items[count] = value_type();
-}
-
-template<class E>
-E &
-Vector<E>::back()
-{
-    assert (size());
-    return items[size() - 1];
-}
-
-template<class E>
-const E &
-Vector<E>::front() const
-{
-    assert (size());
-    return items[0];
-}
-
-template<class E>
-E &
-Vector<E>::front()
-{
-    assert (size());
-    return items[0];
-}
-
-template<class E>
-void
-Vector<E>::prune(E item)
-{
-    unsigned int n = 0;
-    for (unsigned int i = 0; i < count; i++) {
-        if (items[i] != item) {
-            if (i != n)
-                items[n] = items[i];
-            n++;
-        }
-    }
-
-    count = n;
-}
-
-/* if you are going to append a known and large number of items, call this first */
-template<class E>
-void
-Vector<E>::preAppend(int app_count)
-{
-    if (size() + app_count > capacity)
-        reserve(size() + app_count);
-}
-
-template<class E>
-Vector<E>::Vector (Vector<E> const &rhs)
-{
-    items = NULL;
-    capacity = 0;
-    count = 0;
-    reserve (rhs.size());
-
-    for (size_t counter = 0; counter < rhs.size(); ++counter)
-        push_back (rhs.items[counter]);
-}
-
-template<class E>
-Vector<E> &
-Vector<E>::operator = (Vector<E> const &old)
-{
-    clear();
-    reserve (old.size());
-
-    for (size_t counter = 0; counter < old.size(); ++counter)
-        push_back (old.items[counter]);
-
-    return *this;
-}
-
-template<class E>
-bool
-Vector<E>::empty() const
-{
-    return size() == 0;
-}
-
-template<class E>
-size_t
-Vector<E>::size() const
-{
-    return count;
-}
-
-template<class E>
-typename Vector<E>::iterator
-Vector<E>::begin()
-{
-    return iterator (0, *this);
-}
-
-template<class E>
-typename Vector<E>::iterator
-Vector<E>::end()
-{
-    return iterator(size(), *this);
-}
-
-template<class E>
-typename Vector<E>::const_iterator
-Vector<E>::begin() const
-{
-    return const_iterator (0, *this);
-}
-
-template<class E>
-typename Vector<E>::const_iterator
-Vector<E>::end() const
-{
-    return const_iterator(size(), *this);
-}
-
-template<class E>
-E &
-Vector<E>::at(unsigned i)
-{
-    assert (size() > i);
-    return operator[](i);
-}
-
-template<class E>
-const E &
-Vector<E>::at(unsigned i) const
-{
-    assert (size() > i);
-    return operator[](i);
-}
-
-template<class E>
-E &
-Vector<E>::operator [] (unsigned i)
-{
-    return items[i];
-}
-
-template<class E>
-const E &
-Vector<E>::operator [] (unsigned i) const
-{
-    return items[i];
-}
-
-template<class C>
-VectorIteratorBase<C>::VectorIteratorBase() : pos(0), theVector(NULL)
-{}
-
-template<class C>
-VectorIteratorBase<C>::VectorIteratorBase(C &container) : pos(container.begin()), theVector(&container)
-{}
-
-template<class C>
-VectorIteratorBase<C>::VectorIteratorBase(size_t aPos, C &container) : pos(aPos), theVector(&container) {}
-
-template<class C>
-bool VectorIteratorBase<C>:: operator != (VectorIteratorBase<C> const &rhs) const
-{
-    assert (theVector);
-    return pos != rhs.pos;
-}
-
-template<class C>
-bool VectorIteratorBase<C>:: operator == (VectorIteratorBase<C> const &rhs) const
-{
-    assert (theVector);
-    return pos == rhs.pos;
-}
-
-template<class C>
-bool
-VectorIteratorBase<C>::incrementable() const
-{
-    assert (theVector);
-    return pos != theVector->size();
-}
-
-template<class C>
-VectorIteratorBase<C> & VectorIteratorBase<C>:: operator ++()
-{
-    assert (theVector);
-
-    if (!incrementable())
-        fatal ("domain error");
-
-    ++pos;
-
-    return *this;
-}
-
-template<class C>
-VectorIteratorBase<C> VectorIteratorBase<C>:: operator ++(int)
-{
-    VectorIteratorBase result(*this);
-    ++*this;
-    return result;
-}
-
-template<class C>
-VectorIteratorBase<C>&
-VectorIteratorBase<C>::operator =(VectorIteratorBase<C> const &old)
-{
-    pos = old.pos;
-    theVector = old.theVector;
-    return *this;
-}
-
-template<class C>
-ssize_t
-VectorIteratorBase<C>::operator - (VectorIteratorBase<C> const &rhs) const
-{
-    assert(theVector == rhs.theVector);
-    return pos - rhs.pos;
-}
-
-#endif /* SQUID_ARRAY_H */
diff --git a/src/tests/testVector.cc b/src/tests/testVector.cc
deleted file mode 100644 (file)
index 7257007..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#define SQUID_UNIT_TEST 1
-#include "squid.h"
-#include "base/Vector.h"
-#include "tests/testVector.h"
-
-#include <cppunit/TestAssert.h>
-
-CPPUNIT_TEST_SUITE_REGISTRATION( testVector );
-
-void testVector::all()
-{
-    CPPUNIT_ASSERT_EQUAL(1 ,  1);
-    Vector<int> aArray;
-    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), aArray.size());
-    aArray.push_back(2);
-    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aArray.size());
-    CPPUNIT_ASSERT_EQUAL(2, aArray.back());
-    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aArray.size());
-}
diff --git a/src/tests/testVector.h b/src/tests/testVector.h
deleted file mode 100644 (file)
index f1606db..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef SQUID_SRC_TESTS_TESTVECTOR_H
-#define SQUID_SRC_TESTS_TESTVECTOR_H
-
-#include <cppunit/extensions/HelperMacros.h>
-
-/*
- * A test case that is designed to produce
- * example errors and failures
- *
- */
-
-class testVector : public CPPUNIT_NS::TestFixture
-{
-    CPPUNIT_TEST_SUITE( testVector );
-    CPPUNIT_TEST( all );
-    CPPUNIT_TEST_SUITE_END();
-
-public:
-
-protected:
-    void all();
-};
-
-#endif
index 010a8bb4fb56fcaebbaec965adfa93a89564af6c..6aeb5187d41a2d88b1cd6c2baaf064b026b055c8 100644 (file)
@@ -31,7 +31,6 @@ endif
 TESTS += debug \
        syntheticoperators \
        VirtualDeleteOperator \
-       StackTest \
        splay\
        MemPoolTest\
        mem_node_test\
@@ -46,7 +45,6 @@ check_PROGRAMS += debug \
                mem_node_test\
                mem_hdr_test \
                splay \
-               StackTest \
                syntheticoperators \
                VirtualDeleteOperator
 
@@ -89,8 +87,6 @@ MemPoolTest_SOURCES = MemPoolTest.cc
 
 splay_SOURCES = splay.cc
 
-StackTest_SOURCES = StackTest.cc $(DEBUG_SOURCE)
-
 syntheticoperators_SOURCES = syntheticoperators.cc $(DEBUG_SOURCE)
 
 VirtualDeleteOperator_SOURCES = VirtualDeleteOperator.cc $(DEBUG_SOURCE)
diff --git a/test-suite/StackTest.cc b/test-suite/StackTest.cc
deleted file mode 100644 (file)
index 377d899..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-
-/*
- * DEBUG: section 19    Store Memory Primitives
- * AUTHOR: Robert Collins
- *
- * SQUID Web Proxy Cache          http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- *  Squid is the result of efforts by numerous individuals from
- *  the Internet community; see the CONTRIBUTORS file for full
- *  details.   Many organizations have provided support for Squid's
- *  development; see the SPONSORS file for full details.  Squid is
- *  Copyrighted (C) 2001 by the Regents of the University of
- *  California; see the COPYRIGHT file for full details.  Squid
- *  incorporates software developed and/or copyrighted by other
- *  sources; see the CREDITS file for full details.
- *
- *  This program 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.
- *
- *  This program 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 this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- * Copyright (c) 2003  Robert Collins <robertc@squid-cache.org>
- */
-
-#include "squid.h"
-#include "Stack.h"
-
-int
-main(int argc, char **argv)
-{
-    Stack<int> aStack;
-    assert (aStack.size() == 0);
-    aStack.push_back(2);
-    assert (aStack.size() == 1);
-    assert (aStack.top() == 2);
-    assert (aStack.pop() == 2);
-    assert (aStack.size() == 0);
-    Stack<> oldStack;
-    assert (oldStack.size() == 0);
-    oldStack.push_back(&aStack);
-    assert (oldStack.size() == 1);
-    assert (oldStack.top() == &aStack);
-    assert (oldStack.pop() == &aStack);
-    assert (oldStack.size() == 0);
-    return 0;
-}