mirror of
https://github.com/minio/minio.git
synced 2025-11-20 09:56:07 -05:00
Add mint tests into MinIO repo (#7886)
This commit is contained in:
19
mint/run/core/minio-js/README.md
Normal file
19
mint/run/core/minio-js/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
## `minio-js` tests
|
||||
This directory serves as the location for Mint tests using `minio-js`. Top level `mint.sh` calls `run.sh` to execute tests.
|
||||
|
||||
## Adding new tests
|
||||
New tests is added in functional tests of minio-js. Please check https://github.com/minio/minio-js
|
||||
|
||||
## Running tests manually
|
||||
- Set environment variables `MINT_DATA_DIR`, `MINT_MODE`, `SERVER_ENDPOINT`, `ACCESS_KEY`, `SECRET_KEY`, `SERVER_REGION` and `ENABLE_HTTPS`
|
||||
- Call `run.sh` with output log file and error log file. for example
|
||||
```bash
|
||||
export MINT_DATA_DIR=~/my-mint-dir
|
||||
export MINT_MODE=core
|
||||
export SERVER_ENDPOINT="play.minio.io:9000"
|
||||
export ACCESS_KEY="Q3AM3UQ867SPQQA43P2F"
|
||||
export SECRET_KEY="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"
|
||||
export ENABLE_HTTPS=1
|
||||
export SERVER_REGION=us-east-1
|
||||
./run.sh /tmp/output.log /tmp/error.log
|
||||
```
|
||||
69
mint/run/core/minio-js/minioreporter.js
Normal file
69
mint/run/core/minio-js/minioreporter.js
Normal file
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Minio Reporter for JSON formatted logging, (C) 2017 Minio, Inc.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
var mocha = require('mocha');
|
||||
module.exports = minioreporter;
|
||||
|
||||
function minioreporter(runner) {
|
||||
mocha.reporters.Base.call(this, runner);
|
||||
var self = this;
|
||||
|
||||
runner.on('pass', function (test) {
|
||||
GenerateJsonEntry(test)
|
||||
});
|
||||
|
||||
runner.on('fail', function (test, err) {
|
||||
GenerateJsonEntry(test, err)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert test result into a JSON object and print on the console.
|
||||
*
|
||||
* @api private
|
||||
* @param test, err
|
||||
*/
|
||||
|
||||
function GenerateJsonEntry (test, err) {
|
||||
var res = test.title.split("_")
|
||||
var jsonEntry = {};
|
||||
|
||||
jsonEntry.name = "minio-js"
|
||||
|
||||
if (res.length > 0 && res[0].length) {
|
||||
jsonEntry.function = res[0]
|
||||
}
|
||||
|
||||
if (res.length > 1 && res[1].length) {
|
||||
jsonEntry.args = res[1]
|
||||
}
|
||||
|
||||
jsonEntry.duration = test.duration
|
||||
|
||||
if (res.length > 2 && res[2].length) {
|
||||
jsonEntry.alert = res[2]
|
||||
}
|
||||
|
||||
if (err != null ) {
|
||||
jsonEntry.status = "FAIL"
|
||||
jsonEntry.error = err.stack.replace(/\n/g, " ").replace(/ +(?= )/g,'')
|
||||
} else {
|
||||
jsonEntry.status = "PASS"
|
||||
}
|
||||
|
||||
process.stdout.write(JSON.stringify(jsonEntry) + "\n")
|
||||
}
|
||||
49
mint/run/core/minio-js/package.json
Normal file
49
mint/run/core/minio-js/package.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "bin",
|
||||
"version": "1.0.0",
|
||||
"main": "functional_test.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": "",
|
||||
"dependencies": {
|
||||
"app-module-path": "*",
|
||||
"async": "*",
|
||||
"block-stream2": "*",
|
||||
"concat-stream": "*",
|
||||
"es6-error": "*",
|
||||
"json-stream": "*",
|
||||
"lodash": "*",
|
||||
"mime-types": "*",
|
||||
"mkdirp": "*",
|
||||
"moment": "*",
|
||||
"source-map-support": "*",
|
||||
"through2": "*",
|
||||
"xml": "*",
|
||||
"xml2js": "*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"browserify": "*",
|
||||
"chai": "*",
|
||||
"gulp": "*",
|
||||
"gulp-babel": "*",
|
||||
"gulp-jscs": "*",
|
||||
"jshint":"2.*",
|
||||
"gulp-jshint": "*",
|
||||
"gulp-mocha": "*",
|
||||
"gulp-notify": "*",
|
||||
"gulp-sourcemaps": "*",
|
||||
"jshint-stylish": "*",
|
||||
"mocha": "*",
|
||||
"mocha-steps": "*",
|
||||
"nock": "*",
|
||||
"rewire": "*",
|
||||
"superagent": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
}
|
||||
}
|
||||
28
mint/run/core/minio-js/run.sh
Executable file
28
mint/run/core/minio-js/run.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Minio Cloud Storage, (C) 2017 Minio, Inc.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# handle command line arguments
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "usage: run.sh <OUTPUT-LOG-FILE> <ERROR-LOG-FILE>"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
output_log_file="$1"
|
||||
error_log_file="$2"
|
||||
|
||||
# run tests
|
||||
./node_modules/mocha/bin/mocha -R minioreporter -b --exit 1>>"$output_log_file" 2>"$error_log_file"
|
||||
Reference in New Issue
Block a user