From 34bfac9774f4f7bbdea36d4102bc7dd96d584b1c Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Tue, 22 May 2012 22:18:30 +0200 Subject: [PATCH] some more tests --- Makefile.in | 144 +++++++++++++++++------------- Makefile.unittests | 1 + js/server/ahuacatl.js | 2 +- js/server/js-ahuacatl.h | 2 +- js/server/tests/ahuacatl-hash.js | 147 +++++++++++++++++++++++++++++++ 5 files changed, 233 insertions(+), 63 deletions(-) create mode 100644 js/server/tests/ahuacatl-hash.js diff --git a/Makefile.in b/Makefile.in index 60476b54cc..2343b74f99 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -159,11 +159,11 @@ CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) +AM_V_AR = $(am__v_AR_@AM_V@) +am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ libarango_a_AR = $(AR) $(ARFLAGS) libarango_a_LIBADD = @@ -437,27 +437,27 @@ am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_$(V)) -am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ -AM_V_CXXLD = $(am__v_CXXLD_$(V)) -am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libarango_a_SOURCES) $(UnitTests_basics_suite_SOURCES) \ $(UnitTests_geo_suite_SOURCES) $(arangod_SOURCES) \ @@ -488,6 +488,12 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } DATA = $(nobase_pkgdata_DATA) ETAGS = etags CTAGS = ctags @@ -495,12 +501,16 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -1055,6 +1065,7 @@ SHELL_SERVER_AHUACATL = @srcdir@/js/server/tests/ahuacatl-operators.js \ @srcdir@/js/server/tests/ahuacatl-relational.js \ @srcdir@/js/server/tests/ahuacatl-ternary.js \ @srcdir@/js/server/tests/ahuacatl-parse.js \ + @srcdir@/js/server/tests/ahuacatl-hash.js \ @srcdir@/js/server/tests/ahuacatl-skiplist.js \ @srcdir@/js/server/tests/ahuacatl-queries-simple.js \ @srcdir@/js/server/tests/ahuacatl-queries-variables.js \ @@ -1079,7 +1090,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .SUFFIXES: .c .cpp .o .obj -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.files $(srcdir)/Makefile.doxygen $(srcdir)/Makefile.javascript $(srcdir)/Makefile.unittests $(srcdir)/Makefile.flex $(srcdir)/Makefile.bison $(srcdir)/m4/Makefile.all-in-one-libev $(srcdir)/m4/Makefile.all-in-one-v8 $(srcdir)/m4/Makefile.all-in-one-mruby $(am__configure_deps) @for dep in $?; do \ @@ -1104,6 +1115,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; +$(srcdir)/Makefile.files $(srcdir)/Makefile.doxygen $(srcdir)/Makefile.javascript $(srcdir)/Makefile.unittests $(srcdir)/Makefile.flex $(srcdir)/Makefile.bison $(srcdir)/m4/Makefile.all-in-one-libev $(srcdir)/m4/Makefile.all-in-one-v8 $(srcdir)/m4/Makefile.all-in-one-mruby: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -1115,10 +1127,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config/config.h: config/stamp-h1 - @if test ! -f $@; then \ - rm -f config/stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) config/stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f config/stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) config/stamp-h1; else :; fi config/stamp-h1: $(top_srcdir)/config/config.h.in $(top_builddir)/config.status @rm -f config/stamp-h1 @@ -1129,10 +1139,8 @@ $(top_srcdir)/config/config.h.in: $(am__configure_deps) touch $@ BasicsC/local-configuration.h: BasicsC/stamp-h2 - @if test ! -f $@; then \ - rm -f BasicsC/stamp-h2; \ - $(MAKE) $(AM_MAKEFLAGS) BasicsC/stamp-h2; \ - else :; fi + @if test ! -f $@; then rm -f BasicsC/stamp-h2; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) BasicsC/stamp-h2; else :; fi BasicsC/stamp-h2: $(top_srcdir)/BasicsC/local-configuration.h.in $(top_builddir)/config.status @rm -f BasicsC/stamp-h2 @@ -1440,7 +1448,7 @@ MRuby/MRLineEditor.$(OBJEXT): MRuby/$(am__dirstamp) \ MRuby/$(DEPDIR)/$(am__dirstamp) MRuby/mr-utils.$(OBJEXT): MRuby/$(am__dirstamp) \ MRuby/$(DEPDIR)/$(am__dirstamp) -libarango.a: $(libarango_a_OBJECTS) $(libarango_a_DEPENDENCIES) +libarango.a: $(libarango_a_OBJECTS) $(libarango_a_DEPENDENCIES) $(EXTRA_libarango_a_DEPENDENCIES) $(AM_V_at)-rm -f libarango.a $(AM_V_AR)$(libarango_a_AR) libarango.a $(libarango_a_OBJECTS) $(libarango_a_LIBADD) $(AM_V_at)$(RANLIB) libarango.a @@ -1574,7 +1582,7 @@ UnitTests/Jutland/StringBufferTest.$(OBJEXT): \ UnitTests/Jutland/StringUtilsTest.$(OBJEXT): \ UnitTests/Jutland/$(am__dirstamp) \ UnitTests/Jutland/$(DEPDIR)/$(am__dirstamp) -UnitTests/basics_suite$(EXEEXT): $(UnitTests_basics_suite_OBJECTS) $(UnitTests_basics_suite_DEPENDENCIES) UnitTests/$(am__dirstamp) +UnitTests/basics_suite$(EXEEXT): $(UnitTests_basics_suite_OBJECTS) $(UnitTests_basics_suite_DEPENDENCIES) $(EXTRA_UnitTests_basics_suite_DEPENDENCIES) UnitTests/$(am__dirstamp) @rm -f UnitTests/basics_suite$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(UnitTests_basics_suite_OBJECTS) $(UnitTests_basics_suite_LDADD) $(LIBS) UnitTests/Cambridge/$(am__dirstamp): @@ -1589,7 +1597,7 @@ UnitTests/Cambridge/Runner.$(OBJEXT): \ UnitTests/Cambridge/georeg.$(OBJEXT): \ UnitTests/Cambridge/$(am__dirstamp) \ UnitTests/Cambridge/$(DEPDIR)/$(am__dirstamp) -UnitTests/geo_suite$(EXEEXT): $(UnitTests_geo_suite_OBJECTS) $(UnitTests_geo_suite_DEPENDENCIES) UnitTests/$(am__dirstamp) +UnitTests/geo_suite$(EXEEXT): $(UnitTests_geo_suite_OBJECTS) $(UnitTests_geo_suite_DEPENDENCIES) $(EXTRA_UnitTests_geo_suite_DEPENDENCIES) UnitTests/$(am__dirstamp) @rm -f UnitTests/geo_suite$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(UnitTests_geo_suite_OBJECTS) $(UnitTests_geo_suite_LDADD) $(LIBS) Admin/$(am__dirstamp): @@ -1903,7 +1911,7 @@ VocBase/voc-shaper.$(OBJEXT): VocBase/$(am__dirstamp) \ VocBase/$(DEPDIR)/$(am__dirstamp) VocBase/vocbase.$(OBJEXT): VocBase/$(am__dirstamp) \ VocBase/$(DEPDIR)/$(am__dirstamp) -arangod$(EXEEXT): $(arangod_OBJECTS) $(arangod_DEPENDENCIES) +arangod$(EXEEXT): $(arangod_OBJECTS) $(arangod_DEPENDENCIES) $(EXTRA_arangod_DEPENDENCIES) @rm -f arangod$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(arangod_OBJECTS) $(arangod_LDADD) $(LIBS) SimpleHttpClient/$(am__dirstamp): @@ -1930,7 +1938,7 @@ V8Client/V8ClientConnection.$(OBJEXT): V8Client/$(am__dirstamp) \ V8Client/$(DEPDIR)/$(am__dirstamp) V8Client/arangoimp.$(OBJEXT): V8Client/$(am__dirstamp) \ V8Client/$(DEPDIR)/$(am__dirstamp) -arangoimp$(EXEEXT): $(arangoimp_OBJECTS) $(arangoimp_DEPENDENCIES) +arangoimp$(EXEEXT): $(arangoimp_OBJECTS) $(arangoimp_DEPENDENCIES) $(EXTRA_arangoimp_DEPENDENCIES) @rm -f arangoimp$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(arangoimp_OBJECTS) $(arangoimp_LDADD) $(LIBS) MRClient/$(am__dirstamp): @@ -1941,12 +1949,12 @@ MRClient/$(DEPDIR)/$(am__dirstamp): @: > MRClient/$(DEPDIR)/$(am__dirstamp) MRClient/arangoirb.$(OBJEXT): MRClient/$(am__dirstamp) \ MRClient/$(DEPDIR)/$(am__dirstamp) -arangoirb$(EXEEXT): $(arangoirb_OBJECTS) $(arangoirb_DEPENDENCIES) +arangoirb$(EXEEXT): $(arangoirb_OBJECTS) $(arangoirb_DEPENDENCIES) $(EXTRA_arangoirb_DEPENDENCIES) @rm -f arangoirb$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(arangoirb_OBJECTS) $(arangoirb_LDADD) $(LIBS) V8Client/arangosh.$(OBJEXT): V8Client/$(am__dirstamp) \ V8Client/$(DEPDIR)/$(am__dirstamp) -arangosh$(EXEEXT): $(arangosh_OBJECTS) $(arangosh_DEPENDENCIES) +arangosh$(EXEEXT): $(arangosh_OBJECTS) $(arangosh_DEPENDENCIES) $(EXTRA_arangosh_DEPENDENCIES) @rm -f arangosh$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(arangosh_OBJECTS) $(arangosh_LDADD) $(LIBS) @@ -2419,37 +2427,33 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-nobase_pkgdataDATA: $(nobase_pkgdata_DATA) @$(NORMAL_INSTALL) test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @@ -2470,9 +2474,7 @@ uninstall-nobase_pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files + dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -2570,7 +2572,11 @@ dist-gzip: distdir $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir @@ -2578,7 +2584,7 @@ dist-lzma: distdir $(am__remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir @@ -2609,6 +2615,8 @@ distcheck: dist bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -2628,6 +2636,7 @@ distcheck: dist && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -2656,8 +2665,16 @@ distcheck: dist list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -2692,10 +2709,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -2861,8 +2883,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-nobase_pkgdataDATA \ .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-generic clean-local \ clean-noinstLIBRARIES clean-noinstPROGRAMS clean-sbinPROGRAMS \ - ctags dist dist-all dist-bzip2 dist-gzip dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ + ctags dist dist-all dist-bzip2 dist-gzip dist-lzip dist-lzma \ + dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ diff --git a/Makefile.unittests b/Makefile.unittests index f4ff5753ee..11dd7be482 100644 --- a/Makefile.unittests +++ b/Makefile.unittests @@ -186,6 +186,7 @@ SHELL_SERVER_AHUACATL = @srcdir@/js/server/tests/ahuacatl-operators.js \ @srcdir@/js/server/tests/ahuacatl-relational.js \ @srcdir@/js/server/tests/ahuacatl-ternary.js \ @srcdir@/js/server/tests/ahuacatl-parse.js \ + @srcdir@/js/server/tests/ahuacatl-hash.js \ @srcdir@/js/server/tests/ahuacatl-skiplist.js \ @srcdir@/js/server/tests/ahuacatl-queries-simple.js \ @srcdir@/js/server/tests/ahuacatl-queries-variables.js \ diff --git a/js/server/ahuacatl.js b/js/server/ahuacatl.js index ebf80a444c..064e5084d8 100644 --- a/js/server/ahuacatl.js +++ b/js/server/ahuacatl.js @@ -1886,7 +1886,7 @@ function AHUACATL_GRAPH_PATHS () { } //////////////////////////////////////////////////////////////////////////////// -/// @brief find all paths through a graph +/// @brief find all paths through a graph, internal part called recursively //////////////////////////////////////////////////////////////////////////////// function AHUACATL_GRAPH_SUBNODES (searchAttributes, visited, edges, vertices, edge, level) { diff --git a/js/server/js-ahuacatl.h b/js/server/js-ahuacatl.h index 4c71c2d91f..84dc55ac60 100644 --- a/js/server/js-ahuacatl.h +++ b/js/server/js-ahuacatl.h @@ -1887,7 +1887,7 @@ static string JS_server_ahuacatl = "}\n" "\n" "////////////////////////////////////////////////////////////////////////////////\n" - "/// @brief find all paths through a graph\n" + "/// @brief find all paths through a graph, internal part called recursively\n" "////////////////////////////////////////////////////////////////////////////////\n" "\n" "function AHUACATL_GRAPH_SUBNODES (searchAttributes, visited, edges, vertices, edge, level) {\n" diff --git a/js/server/tests/ahuacatl-hash.js b/js/server/tests/ahuacatl-hash.js new file mode 100644 index 0000000000..62f5db86fc --- /dev/null +++ b/js/server/tests/ahuacatl-hash.js @@ -0,0 +1,147 @@ +//////////////////////////////////////////////////////////////////////////////// +/// @brief tests for Ahuacatl, hash index queries +/// +/// @file +/// +/// DISCLAIMER +/// +/// Copyright 2010-2012 triagens GmbH, Cologne, Germany +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +/// +/// Copyright holder is triAGENS GmbH, Cologne, Germany +/// +/// @author Jan Steemann +/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany +//////////////////////////////////////////////////////////////////////////////// + +var internal = require("internal"); +var jsunity = require("jsunity"); + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test suite +//////////////////////////////////////////////////////////////////////////////// + +function ahuacatlHashTestSuite () { + var errors = internal.errors; + var hash; + +//////////////////////////////////////////////////////////////////////////////// +/// @brief execute a given query +//////////////////////////////////////////////////////////////////////////////// + + function executeQuery (query, bindVars) { + var cursor = AHUACATL_RUN(query, bindVars); + return cursor; + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief execute a given query and return the results as an array +//////////////////////////////////////////////////////////////////////////////// + + function getQueryResults (query, bindVars) { + var result = executeQuery(query, bindVars).getRows(); + var results = [ ]; + + for (var i in result) { + if (!result.hasOwnProperty(i)) { + continue; + } + + results.push(result[i]); + } + + return results; + } + + + return { + +//////////////////////////////////////////////////////////////////////////////// +/// @brief set up +//////////////////////////////////////////////////////////////////////////////// + + setUp : function () { + hash = internal.db.UnitTestsAhuacatlHash; + + if (hash.count() == 0) { + for (var i = 1; i <= 5; ++i) { + for (var j = 1; j <= 5; ++j) { + hash.save({ "a" : i, "b": j, "c": i }); + } + } + + hash.ensureHashIndex("a", "b"); + hash.ensureHashIndex("c"); + } + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief tear down +//////////////////////////////////////////////////////////////////////////////// + + tearDown : function () { + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test the single field hash index with equality +//////////////////////////////////////////////////////////////////////////////// + + testEqSingle1 : function () { + var expected = [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ]; + var actual = getQueryResults("FOR v IN " + hash.name() + " FILTER v.c == 1 SORT v.b RETURN [ v.b ]"); + + assertEqual(expected, actual); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test the first hash index field with equality +//////////////////////////////////////////////////////////////////////////////// + + testEqSingle2 : function () { + var expected = [ [ 1, 4 ], [ 2, 4 ], [ 3, 4 ], [ 4, 4 ], [ 5, 4 ] ]; + var actual = getQueryResults("FOR v IN " + hash.name() + " FILTER v.c == 4 SORT v.b RETURN [ v.b, v.c ]"); + + assertEqual(expected, actual); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test multiple hash fields with multiple operators +//////////////////////////////////////////////////////////////////////////////// + + testEqMultiAll : function () { + for (var i = 1; i <= 5; ++i) { + for (var j = 1; j <=5; ++j) { + var expected = [ [ i, j ] ]; + var actual = getQueryResults("FOR v IN " + hash.name() + " FILTER v.a == @a && v.b == @b RETURN [ v.a, v.b ]", { "a" : i, "b" : j }); + + assertEqual(expected, actual); + } + } + } + + }; +} + +//////////////////////////////////////////////////////////////////////////////// +/// @brief executes the test suite +//////////////////////////////////////////////////////////////////////////////// + +jsunity.run(ahuacatlHashTestSuite); + +return jsunity.done(); + +// Local Variables: +// mode: outline-minor +// outline-regexp: "^\\(/// @brief\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @}\\)" +// End: