Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add quick test command #344

Merged
merged 4 commits into from
Jun 19, 2024
Merged

Add quick test command #344

merged 4 commits into from
Jun 19, 2024

Conversation

RLKRo
Copy link
Member

@RLKRo RLKRo commented Mar 29, 2024

Description

Add quick_test command which runs tests deselecting slow and docker marked items.

Checklist

  • I have performed a self-review of the changes

To Consider

  • Add tests (if functionality is changed)
  • Update API reference / tutorials / guides
  • Update CONTRIBUTING.md (if devel workflow is changed)
  • Update .ignore files, scripts (such as lint), distribution manifest (if files are added/deleted)
  • Search for references to changed entities in the codebase

@RLKRo RLKRo added the enhancement New feature or request label Mar 29, 2024
@RLKRo RLKRo requested a review from pseusys March 29, 2024 13:54
@RLKRo RLKRo self-assigned this Mar 29, 2024
Copy link
Collaborator

@pseusys pseusys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, I don't see much sense in creation of quick_test_coverage target. Since Docker tests are not executed - many framework parts won't be tested, will they? If so, how can coverage result be appropriate?..
Alternatively, we could've exclude framework parts that require Docker testing from coverage testing in case of quick testing.

CONTRIBUTING.md Outdated Show resolved Hide resolved
Co-authored-by: Alexander Sergeev <22302418+pseusys@users.noreply.github.com>
@RLKRo
Copy link
Member Author

RLKRo commented Jun 19, 2024

Quick test coverage is still helpful because it generates HTML coverage reports.

many framework parts won't be tested

Not really, only context storage and stats. The rest of the framework would still be tested.

If so, how can coverage result be appropriate?

Coverage report is not only coverage numbers but also HTML pages that show which lines are not covered.

@RLKRo RLKRo merged commit facc5f7 into dev Jun 19, 2024
17 checks passed
@RLKRo RLKRo deleted the feat/test_no_docker branch June 19, 2024 17:02
@RLKRo RLKRo mentioned this pull request Jul 3, 2024
6 tasks
RLKRo added a commit that referenced this pull request Jul 3, 2024
# Changelog

## General

- Framework renamed from DFF to Chatsky (#368)

## Features

- New `has_text` condition for asserting that specific text is contained
inside the last request (#335)
- Validation stage reworked.
`Pipeline.validation_stage`, `Pipeline.verbose` and `Context.validation`
fields are removed.
  Added new type for annotating labels `dff.script.ConstLabel` (#289)
- Functions `cnd.exact_match` and `check_happy_path` now accept both
`Message` and `str`.
The following are now equivalent: `exact_match(Message("text"))` ==
`exact_match("text")`
  (#337)
- CLIMessengerInterface moved to `messengers.console` (#328)
- Attachments reworked (#328):
- `Session`, `Command`, `Link`, `Button`, `Keyboard` and `Attachments`
classes removed, `Message.commands` field removed.
- Added `CallbackQuery`, `Contact`, `Invoice`, `Poll`, `Animation`,
`Sticker`, `VoiceMessage`, `VideoMessage` and `MediaGroup` classes.
  - Added attachment caching feature.
  - Added `has_callback_query` condition.
  - Removed `title` field from Data Attachments. Use `caption` instead.
- Telegram Messenger interface reworked (#328):
  - Now provides methods for attachment byte download.
- Added support for receiving attachment types as members of
`Message.attachments`. Others may be accessed via
`Message.original_message`.
- Added support for sending new attachment types (`Sticker`, `Poll`,
e.t.c.).
- Added support for extra options such as `disable_notification`,
`message_effect_id` or `caption`.
  - Telegram tutorials rewritten to reflect all the changes.
- Added slots that simplify the process of extracting arbitrary data
from user messages and accessing it later (#36):
  - New user guide and tutorials on slots

## Documentation

- Return PRE_RESPONSE_PROCESSING and PRE_TRANSITION_PROCESSING tutorials
- New telegram interface tutorials (#328)
- Slots user guide and tutorials (#36)

## Contrib

- Added `poe quick_test` to run tests that are not slow and do not
require docker (#344)
- `Context.framework_states` renamed to `Context.framework_data` and
made `Pydantic.BaseModel` (#359)
- Added `MessengerInterfaceWithAttachments` class (#328)
- Added tools for enabling json serialization via pickle (#328)
- Telegram tests made independent from telegram servers (#328)
- `wrap_sync_function_in_async` moved to `utils.devel` (#36)

# Checklist

- [x] I have performed a self-review of the changes
- [x] Rename repos (this; template; demo)
- [ ] Add new logo; change favicons in conf.py (this can be done later)
- [x] Create new PyPi project and update pypi token
- [ ] Create a new release
- [x] Make a new release on the
[final_dff_release](https://github.com/deeppavlov/dialog_flow_framework/tree/final_dff_release)
branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants