mirror of https://github.com/apache/cassandra
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
== Overview
|
|
|
|
This directory contains code primarily for cqlsh. cqlsh uses cqlshlib in this directory.
|
|
|
|
== Requirements
|
|
. Python 3.8-3.11 (for cqlsh)
|
|
. virtualenv
|
|
. Docker (optional)
|
|
|
|
== Running tests
|
|
|
|
The following environment variables can be configured for the database connection -
|
|
|
|
. CQL_TEST_HOST, default 127.0.0.1
|
|
. CQL_TEST_PORT, default 9042
|
|
. CQL_TEST_USER, default 'cassandra'
|
|
. CQL_TEST_PWD
|
|
|
|
You can run tests with a local Cassandra server with:
|
|
|
|
$ pytest
|
|
|
|
You can run tests on the python style compliance issues with:
|
|
|
|
$ pycodestyle --ignore E501,E402,E731,W503 **/*.py
|
|
|
|
In order to run tests in a virtual environment for cqlshlib, run cassandra-cqlsh-tests.sh in this directory. It will
|
|
automatically setup a virtualenv with the appropriate version of Python and run tests inside it.
|
|
|
|
There are Dockerfiles that can be used to test whether cqlsh works with a default, barebones
|
|
Python installation. Assuming Cassandra's source is checked out at `$CASSANDRA_DIR`. To test, first
|
|
build the Docker image containing the barebones Python installation -
|
|
|
|
$ docker build . --file Dockerfile.ubuntu.py3 -t ubuntu-lts-py3
|
|
|
|
Next, run cqlsh inside the newly built image -
|
|
|
|
$ docker run -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh host.docker.internal
|
|
|
|
If `host.docker.internal` isn't supported, then you can use `--net="host"` with `docker run`:
|
|
|
|
$ docker run --net="host" -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh
|
|
|
|
This will try to spawn a cqlsh instance inside the Docker container running Ubuntu LTS (18.04)
|
|
with minimal Python installation. It will try to connect to the Cassandra instance running on the
|
|
Docker host at port 9042. If you have Cassandra running elsewhere, replace host.docker.internal
|
|
with the IP / hostname as usual. Please ensure that the IP / host is accessible from _within_ the
|
|
Docker container.
|