add Longevity test
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@281 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
13d56ada49
commit
d0e75dd3b1
3 changed files with 85 additions and 0 deletions
32
test/Longevity/Makefile
Executable file
32
test/Longevity/Makefile
Executable file
|
@ -0,0 +1,32 @@
|
|||
|
||||
|
||||
CPP = g++
|
||||
CC = gcc
|
||||
OBJ = main.o
|
||||
LINKOBJ = main.o
|
||||
CXXINCS = -I./../../include
|
||||
LIBS = -L../../lib -lloki
|
||||
CXXFLAGS = $(CXXINCS) -O2 -DNDEBUG
|
||||
BIN = main-gcc.exe
|
||||
RM = rm -f
|
||||
CHK_DIR_EXISTS= if not exist
|
||||
MKDIR = mkdir
|
||||
|
||||
.PHONY: all all-before all-after clean clean-custom
|
||||
|
||||
all: all-before $(BIN) all-after
|
||||
|
||||
|
||||
clean: clean-custom
|
||||
${RM} $(OBJ) $(BIN)
|
||||
|
||||
$(BIN): $(OBJ)
|
||||
$(CPP) $(LINKOBJ) -o main-gcc.exe $(LIBS)
|
||||
|
||||
check_tmp:
|
||||
@$(CHK_DIR_EXISTS) "" $(MKDIR) "tmp"
|
||||
|
||||
Factory.o: Factory.cpp
|
||||
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)
|
||||
|
||||
|
40
test/Longevity/main.cpp
Executable file
40
test/Longevity/main.cpp
Executable file
|
@ -0,0 +1,40 @@
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include "loki/Singleton.h"
|
||||
|
||||
|
||||
struct L1
|
||||
{
|
||||
L1(){std::cout << "create L1: " << this << "\n";}
|
||||
~L1(){std::cout << "delete L1: " << this <<" \n";}
|
||||
};
|
||||
|
||||
struct L2
|
||||
{
|
||||
L2(){std::cout << "create L2 \n";}
|
||||
~L2(){std::cout << "delete L2 \n";}
|
||||
};
|
||||
|
||||
struct L3
|
||||
{
|
||||
L3(){std::cout << "create L3 \n";}
|
||||
~L3(){std::cout << "delete L3 \n";}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
Loki::SetLongevity
|
||||
(new L1, 1);
|
||||
Loki::SetLongevity<L1, void (*)(L1*)>
|
||||
(new L1, 1, Loki::Private::Deleter<L1>::Delete);
|
||||
Loki::SetLongevity<L1, Loki::Private::Deleter<L1>::Type>
|
||||
(new L1, 1, Loki::Private::Deleter<L1>::Delete);
|
||||
Loki::SetLongevity(new L2, 2);
|
||||
Loki::SetLongevity(new L1, 1);
|
||||
Loki::SetLongevity(new L3, 3);
|
||||
Loki::SetLongevity(new L1, 1);
|
||||
|
||||
std::cout << "\n";
|
||||
}
|
||||
|
13
test/Longevity/make.msvc.bat
Executable file
13
test/Longevity/make.msvc.bat
Executable file
|
@ -0,0 +1,13 @@
|
|||
if not exist tmp\ mkdir tmp
|
||||
|
||||
cl -c -Zm200 -O2 -DNDEBUG -MT -EHsc -GR -W0 -wd4710 -I"." -I"..\..\include" -Fotmp\ main.cpp
|
||||
|
||||
if not defined LOKI_MSVC_NOLIB (
|
||||
|
||||
link /NOLOGO /SUBSYSTEM:CONSOLE /incremental:no /OUT:"main-msvc.exe" ..\..\lib\loki.lib tmp\main.obj
|
||||
|
||||
) else (
|
||||
|
||||
link /NOLOGO /SUBSYSTEM:CONSOLE /incremental:no /OUT:"main-msvc.exe" tmp\main.obj ..\..\lib\SmallObj.obj ..\..\lib\Singleton.obj
|
||||
|
||||
)
|
Loading…
Reference in a new issue