You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by kx...@apache.org on 2015/11/12 00:08:02 UTC

[50/50] couchdb commit: updated refs/heads/2876-js-tests to bd19653

Merge branch 'master' into 2876-js-tests


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/bd19653c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/bd19653c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/bd19653c

Branch: refs/heads/2876-js-tests
Commit: bd19653c6e588ccb647f955d52524bda90d61efb
Parents: 805a427 486181f
Author: Alexander Shorin <kx...@apache.org>
Authored: Thu Nov 12 02:03:42 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Thu Nov 12 02:03:42 2015 +0300

----------------------------------------------------------------------
 .gitignore                         |   1 +
 .travis.yml                        |  11 +-
 INSTALL.Unix.md                    |   4 +-
 INSTALL.Windows.md                 |   2 +-
 LICENSE                            |  24 +++
 Makefile                           | 308 ++++++++++++++++++++++++--------
 NOTICE                             |   6 +-
 README-DEV.md                      | 190 --------------------
 README-DEV.rst                     | 247 +++++++++++++++++++++++++
 build-aux/couchdb-build-release.sh |   9 +-
 configure                          |  18 +-
 dev/run                            |  21 ++-
 rebar.config.script                |  39 ++--
 rel/files/eunit.config             |  32 ++++
 rel/files/sys.config               |   2 +-
 rel/overlay/etc/default.ini        |   5 +
 run-tests.sh                       |   9 -
 17 files changed, 608 insertions(+), 320 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/bd19653c/Makefile
----------------------------------------------------------------------
diff --cc Makefile
index 79b717a,3387232..614280c
--- a/Makefile
+++ b/Makefile
@@@ -19,34 -19,178 +19,188 @@@ COUCHDB_VERSION = $(vsn_major).$(vsn_mi
  
  DESTDIR=
  
+ # Rebar options
+ apps=
+ skip_deps=folsom,lager,meck,mochiweb,proper,snappy
+ suites=
+ tests=
+ 
+ EUNIT_OPTS=$(shell echo "\
+ 	apps=$(apps) \
+ 	skip_deps=$(skip_deps) \
+ 	suites=$(suites) \
+ 	tests=$(tests) \
+ 	" | sed -e 's/[a-z]\+= / /g')
+ DIALYZE_OPTS=$(shell echo "\
+ 	apps=$(apps) \
+ 	skip_deps=$(skip_deps) \
+ 	" | sed -e 's/[a-z]\+= / /g')
+ 
+ 
+ ################################################################################
+ # Main commands
+ ################################################################################
+ 
+ 
+ .PHONY: all
+ # target: all - Build everything
  all: couch fauxton docs
  
- config.erl:
- 	@echo "Apache CouchDB has not been configured."
- 	@echo "Try \"./configure -h\" for help."
- 	@echo
- 	@false
  
+ .PHONY: help
+ # target: help - Print this help
+ help:
+ 	@egrep "^# target: " Makefile \
+ 		| sed -e 's/^# target: //g' \
+ 		| sort \
+ 		| awk '{printf("    %-20s", $$1); $$1=$$2=""; print "-" $$0}'
+ 
+ 
+ ################################################################################
+ # Building
+ ################################################################################
+ 
+ 
+ .PHONY: couch
+ # target: couch - Build CouchDB core
  couch: config.erl
- 	@${REBAR} compile
+ 	@$(REBAR) compile
  	@cp src/couch/priv/couchjs bin/
  
- clean:
- 	@${REBAR} -r clean
- 	@rm -f bin/couchjs
- 	@rm -rf src/*/ebin
- 	@rm -rf src/*/.rebar
- 	@rm -rf src/*/priv/*.so
- 	@rm -rf src/couch/priv/{couchspawnkillable,couchjs}
- 	@rm -rf share/server/main.js share/server/main-coffee.js
- 	@rm -rf tmp dev/data dev/lib dev/logs
- 	@rm -f src/couch/priv/couchspawnkillable
- 	@rm -f src/couch/priv/couch_js/config.h
- 	@rm -f dev/boot_node.beam dev/pbkdf2.pyc log/crash.log
  
- check: javascript eunit build-test
+ .PHONY: docs
+ # target: docs - Build documentation
+ docs: src/docs/build
+ 
+ 
+ .PHONY: fauxton
+ # target: fauxton - Build Fauxton web UI
+ fauxton: share/www
+ 
+ 
+ ################################################################################
+ # Testing
+ ################################################################################
+ 
+ 
+ .PHONY: check
+ # target: check - Test everything
+ check:
+ 	@$(MAKE) eunit
+ 	@$(MAKE) javascript
+ 	@$(MAKE) build-test
+ 
+ 
+ .PHONY: eunit
+ # target: eunit - Run EUnit tests, use EUNIT_OPTS to provide custom options
+ eunit: export BUILDDIR = $(shell pwd)
+ eunit: export ERL_AFLAGS = -config $(shell pwd)/rel/files/eunit.config
+ eunit: couch
+ 	@$(REBAR) setup_eunit 2> /dev/null
+ 	@$(REBAR) -r eunit $(EUNIT_OPTS)
+ 
+ 
+ .PHONY: javascript
+ # target: javascript - Run JavaScript test suites or specific ones defined by suites option
 -javascript: all share/www/script/test
 -	@dev/run -q --with-admin-party-please test/javascript/run $(suites)
++javascript: all
++	@mkdir -p share/www/test
++ifeq ($(IN_RELEASE), true)
++	@cp test/javascript/tests/lorem*.txt share/www/test/
++else
++	# FIXME: strange path ahead!
++	@mkdir -p src/fauxton/dist/release/test
++	@cp test/javascript/tests/lorem*.txt src/fauxton/dist/release/test/
++endif
++	# 2 remedy problems w/ "internal server error" remove dev/lib
++	@dev/run -q --with-admin-party-please test/javascript/run
++	@rm -rf share/www/script
+ 
+ 
+ .PHONY: list-eunit-apps
+ # target: list-eunit-apps - List EUnit target apps
+ list-eunit-apps:
+ 	@find ./src/ -type f -name *_test.erl -o -name *_tests.erl \
+ 		| cut -d '/' -f 3 \
+ 		| sort -u
+ 
+ 
+ .PHONY: list-eunit-suites
+ # target: list-eunit-suites - List EUnit target test suites
+ list-eunit-suites:
+ 	@find ./src/ -type f -name *_test.erl -o -name *_tests.erl -printf "%f\n" \
+ 		| cut -d '.' -f -1 \
+ 		| sort
+ 
+ 
+ .PHONY: list-js-suites
+ # target: list-js-suites - List JavaScript test suites
+ list-js-suites:
+ 	@find ./test/javascript/tests/ -type f -name *.js -printf "%f\n" \
+ 		| cut -d '.' -f -1 \
+ 		| sort
+ 
+ 
+ .PHONY: build-test
+ # target: build-test - Test build script
+ build-test:
+ 	@test/build/test-configure.sh
+ 
+ 
+ ################################################################################
+ # Developing
+ ################################################################################
+ 
+ 
+ .PHONY: build-plt
+ # target: build-plt - Build project-specific PLT
+ build-plt:
+ 	@$(REBAR) -r build-plt $(DIALYZE_OPTS)
+ 
+ 
+ .PHONY: check-plt
+ # target: check-plt - Check the PLT for consistency and rebuild it if it is not up-to-date
+ check-plt:
+ 	@$(REBAR) -r check-plt $(DIALYZE_OPTS)
+ 
+ 
+ .PHONY: dialyze
+ # target: dialyze - Analyze the code for discrepancies
+ dialyze: .rebar
+ 	@$(REBAR) -r dialyze $(DIALYZE_OPTS)
+ 
+ 
+ .PHONY: docker-image
+ # target: docker-image - Build Docker image
+ docker-image:
+ 	@docker build --rm -t couchdb/dev-cluster .
+ 
+ 
+ .PHONY: docker-start
+ # target: docker-start - Start CouchDB in Docker container
+ docker-start:
+ 	@docker run -d -P -t couchdb/dev-cluster > .docker-id
+ 
+ 
+ .PHONY: docker-stop
+ # target: docker-stop - Stop Docker container
+ docker-stop:
+ 	@docker stop `cat .docker-id`
+ 
+ 
+ .PHONY: introspect
+ # target: introspect - Check for commits difference between rebar.config and repository
+ introspect:
+ 	@$(REBAR) -r update-deps
+ 	@./introspect
+ 
+ 
+ ################################################################################
+ # Distributing
+ ################################################################################
  
- # creates a full erlang release
+ 
+ .PHONY: dist
+ # target: dist - Make release tarball
  dist: all
  	@./build-aux/couchdb-build-release.sh $(COUCHDB_VERSION)
  
@@@ -190,8 -341,9 +351,3 @@@ ifeq ($(with_fauxton), 1
  	@echo "Building Fauxton"
  	@cd src/fauxton && npm install && ./node_modules/grunt-cli/bin/grunt couchdb
  endif
--
- .PHONY: introspect
- introspect:
- 	${REBAR} -r update-deps
- 	./introspect
 -
 -share/www/script/test:
 -	@# TODO: Fix tests to look for these files in their new path
 -	@mkdir -p $@
 -	@cp test/javascript/tests/lorem*.txt share/www/script/test/