Comments (7)
I noticed there are both ci/scripts/run-backfill-tests.sh
and src/tests/simulation/tests/integration_tests/backfill_tests.rs
. This looks a little repetitive. Is this just to test in two different environments at the same time? Or are there any differences?
I'm thinking maybe we can use the same interface to write tests, and let it run in different environments. (i.e., support non-sim environment for the integration test. In other words, reuse Cluster
, Configuration
apis) @kwannoel @wangrunji0408 How do you think?
from risingwave.
Some aspects I want to improve
- we can run tests easily both in CI and locally. (Should we utilize
docker-compose
orrisedev
? - we can use similar methods to setup tests, instead of writing shell scripts for each kind of tests..
from risingwave.
Thanks @BugenZhao 's idea
It can be as easy as
- Write
system
commands in scripts for setup. Use env vars to specify ports- We can further write e.g.,
run_mysql.sh
, which uses envvars. Then inslt
, we reuse the script, and don't need to copy-paste ports.
- We can further write e.g.,
- The external services are started via
risedev
. Note that their env vars are stored inrisedev-env
. We userisedev slt
to execute tests, which will loadrisedev-env
first.- Ideally, CI can also use
risedev
to start services. But we can also just manually specify env vars. - optional: Maybe we can use
docker-compose
to start services.
- Ideally, CI can also use
from risingwave.
Generally I think it's a good idea to have a unified interface for both sim and non-sim env. Maybe risedev can be used as a backend for this API. But I'm not sure how much work it would take.
from risingwave.
Related #12451
from risingwave.
I noticed there are both
ci/scripts/run-backfill-tests.sh
andsrc/tests/simulation/tests/integration_tests/backfill_tests.rs
. This looks a little repetitive. Is this just to test in two different environments at the same time? Or are there any differences?I'm thinking maybe we can use the same interface to write tests, and let it run in different environments. (i.e., support non-sim environment for the integration test. In other words, reuse
Cluster
,Configuration
apis) @kwannoel @wangrunji0408 How do you think?
Madsim's environment has some quirks. Running those tests in run-backfill-tests.sh
is intentional, I don't want to execute them in madsim's environment.
For instance, time ticks randomly and depends on IO. So when there's sleep involved in the tests, I prefer to use a real-time environment, instead of one that is simulated.
from risingwave.
close in favor of #12451
from risingwave.
Related Issues (20)
- EOWC: close `RANGE`/`SESSION` window with watermark
- `ALTER TABLE` will refresh previous snapshot values for absent cells
- bug: fail to load workload identity token on azure environment
- cherrypick feat(udf): add metric of UDF memory usage (#16922) to branch release-1.9 HOT 1
- when using external schema, `struct`'s fields are not shown in `describe <table>` HOT 2
- Division by zero exception HOT 12
- e2e test time increased from 15min to 20min in ci HOT 1
- Performance lost after using `BTreeMap` for WITH properties
- hint user when column not found HOT 1
- bug: CI failure: integration test (madsim): progress not within bounds 0.9
- bug(main-cron): pulsar source check: gRPC request to meta service failed: Unknown error HOT 3
- feat: expose dedicated source for table in system catalog rw_sources
- Reclaim space more aggresively for table with vnode table watermark specificed (table with range delete)
- system table for source health status HOT 2
- SSL configurations is not supported for schema registry HOT 3
- Don't let jni_core depends on (the whole) storage crate HOT 2
- dep: try to use either aws-lc-rs or ring
- Rework ci labels
- reorganize directories at the root of the repo HOT 1
- error in metabase: function has_any_column_privilege does not exist HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from risingwave.