Motivation:
According the feedback from the community, the e2e tests are hard for
them to understand and get them started, so this pull request aims to
rewrite the e2e tests with some improvements:
- debuggable locally, now you can run every individual case directly
inside the IDE, just like running a plain unit test.
- same functionalities of multiple counterparts share the same codes,
cases like different storages and cluster coordinators share the same
codes, easy to add more similar cases.
- the "end" now extends to the Doccker images, meaning that some bugs
like #4483 and #4471 can be more easily and early to be discovered.
- codes style and license headers are checked
Modifications:
- adopt jupeter (a.k.a junit 5), testcontainers as the new test
framework, all containers are orchestrated by docker-compose.yml,
well-known technology that developers should be familiar with.
- rewrite all test cases and verify them.
- reorganize the workflows in GitHub Actions.
Result:
- new e2e test should be easy to add.
- closes https://github.com/apache/skywalking/issues/4472
### Motivation
Ease the efforts of modifying configurations in automatic workflow and scripts, like Docker and helm chart.
### Modification
Add a `selector` property into `application.yml` to enable switching configuration simply by environment variables or system properties, and filter the unselected options, leaving only selected one.
### Result
- We can switch a configuration by environment variables or system property
- Closes#4511
### Motivation:
Make E2E tests more stable.
### Modifications:
Verify the traces loosely as other tests, and remove the `verify` method which verifies traces strictly, as we have preparation that also generates traces.
### Result:
E2E tests are more stable.
* Support new percentile func with new alarm and exporter for this new func.
* Fix e2e and OAL script
* Fix wrong column.
* Fix percentile bug and oal engine bug.
* Update query protocol and add percentile test case
* Support new query
* Adopt GraphQL requirement
* Fix wrong type cast.
* Fix query in H2 and ES.
* Fix docs and comments.
* Fix an e2e compile issue
* Fix javadoc issue and e2e test issue.
* Change CPM to Apdex in TTL test.
* Fix OAL for TTL e2e
* Add metrics query for service percentile.
* Fix OAL engine bug. Method deserialize is not working when more than two field types are IntKeyLongValueHashMap
* Support multiple IntKeyLongValueHashMap fields in remote. About serialize/deserialize methods.
* Fix graphql statement error in e2e.
* Fix serialize not working and add generated serialize/deserialize of percentile into test cases.
* Fix test case format
* Remove generated code test.
* Fix failed e2e test
* Use avg resp time to apdex in the TTL test.
* ADD multiple linear metrics check for endpoint in e2e cluster.
* Support `-` to represent no threshold and doc of alarm about this.
* Move break to right place.
* Fix wrong break(s)
* Fix break and add a test case for multiple values alarm.
* Fix format.
* Add more doc for this new feature and GraphQL query protocol.
Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
* Add es7 support to docker
* Add es7 to github aciton workflow
* Rename dockerfile
* Update docker-compose
* Update matrix es name
* Set oap tag
* Add document
* Update How-to-build.md
* Add play-scenario
* Set play plugin as default
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Weiyi Liu <liuweiyi@cmss.chinamobile.com>
* lettuce test
* fix
* update version
* a new one group
* revert
* update expect data
Co-authored-by: Weiyi Liu <liuweiyi@cmss.chinamobile.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
* shardingsphere 3.x test
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* shardingsphere 3.x test refine
* Remove the local/exit span register mechanism
* for comments
* for comments
* Move e2e and istio e2e to master recheck.
* Try to run tests on tag(release)
* Add `v*` tag to trigger test only, as this is the release tag.
* Trigger CI again
* Set up project build on Windows and MacOS.
* Fix whitespace
* Fix missing phrases.
* Change command for windows.
* Fix typo.
* 1. Remove new local m2 repository
2. Remove CI-with-IT on Windows and MacOS due to no Docker service existing
3. Change mvnw to mvn on Windows.
* Remove cache.
* Merge into one command