Skip to content

Commit

Permalink
Adjust tests for Python 3.13
Browse files Browse the repository at this point in the history
And use this version in CI.
Also adjust the sample output of --help in README.
  • Loading branch information
dlax committed Oct 8, 2024
1 parent 22b5eab commit bda2bb7
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 17 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ jobs:
include:
- python: "3.9"
psycopg: "psycopg2"
- python: "3.12"
- python: "3.13"
psycopg: "psycopg3"
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- name: Install tox
run: pip install tox
- name: Add fr_FR and zh_TW for test purposes
Expand Down
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ ex:
pg_activity [options] [connection string]

Configuration:
-P PROFILE, --profile PROFILE
-P, --profile PROFILE
Configuration profile matching a PROFILE.conf file in
${XDG_CONFIG_HOME:~/.config}/pg_activity/ or
/etc/pg_activity/, or a built-in profile.
Expand Down Expand Up @@ -123,13 +123,11 @@ ex:
Connection Options:
connection string A valid connection string to the database, e.g.:
'host=HOSTNAME port=PORT user=USER dbname=DBNAME'.
-h HOSTNAME, --host HOSTNAME
Database server host or socket directory.
-p PORT, --port PORT Database server port.
-U USERNAME, --username USERNAME
-h, --host HOSTNAME Database server host or socket directory.
-p, --port PORT Database server port.
-U, --username USERNAME
Database user name.
-d DBNAME, --dbname DBNAME
Database name to connect to.
-d, --dbname DBNAME Database name to connect to.

Process table display options:
These options may be used hide some columns from the processes table.
Expand Down
16 changes: 7 additions & 9 deletions tests/test_cli_help.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
>>> import sys
>>> import pytest
>>> if sys.version_info < (3, 9):
... pytest.skip("only applies for Python version >= 3.9")
>>> if sys.version_info < (3, 13):
... pytest.skip("only applies for Python version >= 3.13")
...

>>> from pgactivity import cli
Expand All @@ -12,7 +12,7 @@ usage: pytest [options] [connection string]
htop like application for PostgreSQL server activity monitoring.
<BLANKLINE>
Configuration:
-P PROFILE, --profile PROFILE
-P, --profile PROFILE
Configuration profile matching a PROFILE.conf file in
${XDG_CONFIG_HOME:~/.config}/pg_activity/ or
/etc/pg_activity/, or a built-in profile.
Expand Down Expand Up @@ -48,13 +48,11 @@ Options:
Connection Options:
connection string A valid connection string to the database, e.g.:
'host=HOSTNAME port=PORT user=USER dbname=DBNAME'.
-h HOSTNAME, --host HOSTNAME
Database server host or socket directory.
-p PORT, --port PORT Database server port.
-U USERNAME, --username USERNAME
-h, --host HOSTNAME Database server host or socket directory.
-p, --port PORT Database server port.
-U, --username USERNAME
Database user name.
-d DBNAME, --dbname DBNAME
Database name to connect to.
-d, --dbname DBNAME Database name to connect to.
<BLANKLINE>
Process table display options:
These options may be used hide some columns from the processes table.
Expand Down
92 changes: 92 additions & 0 deletions tests/test_cli_help_py312.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
>>> import sys
>>> import pytest
>>> if sys.version_info >= (3, 13):
... pytest.skip("only applies for Python version < 3.13")
...

>>> from pgactivity import cli
>>> parser = cli.get_parser()
>>> parser.print_help()
usage: pytest [options] [connection string]
<BLANKLINE>
htop like application for PostgreSQL server activity monitoring.
<BLANKLINE>
Configuration:
-P PROFILE, --profile PROFILE
Configuration profile matching a PROFILE.conf file in
${XDG_CONFIG_HOME:~/.config}/pg_activity/ or
/etc/pg_activity/, or a built-in profile.
<BLANKLINE>
Options:
--blocksize BLOCKSIZE
Filesystem blocksize (default: 4096).
--rds Enable support for AWS RDS (implies --no-tempfiles and
filters out the rdsadmin database from space
calculation).
--output FILEPATH Store running queries as CSV.
--db-size, --no-db-size
Enable/disable total size of DB.
--tempfiles, --no-tempfiles
Enable/disable tempfile count and size.
--walreceiver, --no-walreceiver
Enable/disable walreceiver checks.
-w, --wrap-query Wrap query column instead of truncating.
--duration-mode DURATION_MODE
Duration mode. Values: 1-QUERY(default),
2-TRANSACTION, 3-BACKEND.
--min-duration SECONDS
Don't display queries with smaller than specified
duration (in seconds).
--filter FIELD:REGEX Filter activities with a (case insensitive) regular
expression applied on selected fields. Known fields
are: dbname.
--debug-file DEBUG_FILE
Enable debug and write it to DEBUG_FILE.
--version show program's version number and exit.
--help Show this help message and exit.
<BLANKLINE>
Connection Options:
connection string A valid connection string to the database, e.g.:
'host=HOSTNAME port=PORT user=USER dbname=DBNAME'.
-h HOSTNAME, --host HOSTNAME
Database server host or socket directory.
-p PORT, --port PORT Database server port.
-U USERNAME, --username USERNAME
Database user name.
-d DBNAME, --dbname DBNAME
Database name to connect to.
<BLANKLINE>
Process table display options:
These options may be used hide some columns from the processes table.
<BLANKLINE>
--pid, --no-pid Enable/disable PID.
--database, --no-database
Enable/disable DATABASE.
--user, --no-user Enable/disable USER.
--client, --no-client
Enable/disable CLIENT.
--cpu, --no-cpu Enable/disable CPU%.
--mem, --no-mem Enable/disable MEM%.
--read, --no-read Enable/disable READ/s.
--write, --no-write Enable/disable WRITE/s.
--time, --no-time Enable/disable TIME+.
--wait, --no-wait Enable/disable W.
--app-name, --no-app-name
Enable/disable APP.
<BLANKLINE>
Header display options:
--no-inst-info Hide instance information.
--no-sys-info Hide system information.
--no-proc-info Hide workers process information.
<BLANKLINE>
Other display options:
--hide-queries-in-logs
Disable log_min_duration_statements and
log_min_duration_sample for pg_activity.
--refresh REFRESH Refresh rate. Values: 0.5, 1, 2, 3, 4, 5 (default: 2).
<BLANKLINE>
The connection string can be in the form of a list of Key/Value parameters or
an URI as described in the PostgreSQL documentation. The parsing is delegated
to the libpq: different versions of the client library may support different
formats or parameters (for example, connection URIs are only supported from
libpq 9.2).

0 comments on commit bda2bb7

Please sign in to comment.