* Cleanup after each testrun
- add a success testsuite next to the fail testsuite
- create temporary directories in the fail & success testsuites
- add a function to cleanup the last unshifted directory
- don't say we're crashed when exiting with the help message
* Specify temp path for SUT so its files will be removed after cleanup.
- cleanup
- don't use getTempFile(), it will create another subdirectory that we don't clean up afterwards...
* Fix temp path usage
- creating a 'bundles' directory wherein we would keep our temporary bundle files would collide if we'd clean it up.
- create 'bundles-tmpxxxx' instead so its individual to us and we can remove it when done without problems.
* properly create & pass in a temporary directory - as we now require this.
* Remove intermediate directory recursive - for some unknown reason there may be temp files created.
* we need to unify tempfilenames here too.
* use individual suite names
* use the standart performTests to run the backup tests - so we have the proper directory and server handling from the infrastructure.
* fix temporary directory handling in the recovery tests.
* script to build debugging debian packages
* Improve test shutdown
- handle a set of options globally per testsuite, so they don't need to clone them inside.
- properly cleanup the slave instance of the replication tests after each run.
- The per testsuite options vector will fix the behaviour that after one failed testsuite
all other suites won't be cleaned up anymore.
* don't call the overal cleanup if anything failed.
* fix cleaning up of directories.
* cleanup, fix directory creation / deletion / dummy creation.
* cleanup, fix directory creation / deletion / dummy creation.
* fix tempdir handling for the recovery tests
* Pass config/deps on _install so setup can see them
* Only register service when install succeeded
* Don't throw after point of no return: breaky install is breaky
* Delete service files during install if service validation fail
* Delete service files during install if service execution fails
* Fix commitLocalState with invalide services
* Remove deprecated test
* Fix Foxx API error
* Manager should distinguish between errors and services
* Foxx API should not require service to exist for uninstall
if force option is used
* Respect options.force in FM _install
* Serve error when service is out of sync
* Don't check system services for bundles
* Use appropriate errorNum if Foxx blows up
* Only check checksum when file exists
* Don't expose stack traces
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log
* Improve Foxx cluster resilience
Fixes#2083Fixes#2384Fixes#2408
Addresses #1892
* Port old Foxx API
* Implement single-file services
* Add console.errorStack/warnStack/infoStack helpers
* Simplify serviceInfo validation
* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core
* Add Foxxmanager tests
* Send empty response when no README
* Disambiguate script arg format
Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.
* Rebuild bundle in development mode
* Nicer HTTP docs formatting
* Create Foxx HTTP docs
* Simplify service upload handling
* Remove inline swagger docs
* Implement public download route
* Consistency
* Rebuild aardvark
* Move bundle route into /_api/foxx/_local
* Rebuild Swagger API docs
* Add changes to CHANGELOG
* More docs
When install/upgrade, arangodb response is "No such file or directory".
This is because serviveInfo path already join with temporary Path, and then
in "uploadToPeerCoordinators" it join twice with temporary path.
Another problem, arangodb upgrade url is "update" not "upgrade".
Last problem, when Sync foxx with another cluster, use "coordinatorTransactionID"
but there is no that key response from ArangoClusterComm.