unitizer
NEWS
v1.4.21
- Suppress test caused to fail by checks added to
parent.env<-
in r-devel r86545.
v1.4.20
v1.4.19
- #293: Output all failed tests in non-interactive mode, instead of just the first one.
- #292: Clarify warnings about stderr in transcript mode.
- Fully unhook the evaluation environment chain prior to storing unitizers. Previously only the portions of the chain part of the unitizer was unhooked, but with some tests it becomes possible to capture environments created during the
pre
expression evaluations. This could cause warnings about package environments being unavailable on reload of RDSes.
v1.4.18
- #289: Better document pitfalls of non-ASCII in e.g. literals in tests. Related: we no longer attempt to do a parse/deparse round trip when displaying recorded test expressions as the round trip could fail in some cases.
- #288: Prevent upgrade prompt in non-interactive mode interrupting result display (regression introduced in 1.4.15).
- #286: Add a “transcript” mode where test output can better be interpreted as a log, intended non-interactive mode.
- #272: Highlight silently emitted conditions in tests that have otherwise no other output.
- #252, #253: Better documentation of feature incompatibility with
devtools::load_all
, and more graceful recovery from failures caused by the incompatibility. This only affects unitizer
sessions run with package search path management enabled (h/t @blset).
- #247: Disallow running
unitizer
without first attaching it to the search path.
- #245: Fix re-run bookmarking when reviewing multiple unitizers with
unitize_dir
.
v1.4.16-17
- #285: Relax condition call
- #284: Handle CTRL+C interrupts while multi-line editing.
- #283: Multi-unitizer upgrade regression introduced in 1.4.15.
- Address CRAN failures due to path inconsistencies on Windows machines.
- #279: Multi-line input parsing works in non-English locales.
v1.4.15.9000
Non-CRAN release to fix test issues under covr
and on older R versions.
v1.4.15
- Test suite switched to
aammrtf
, removing suggests dependency to testthat
.
- Upgrade process modified so that old
unitizer
that pass tests are not required to be upgraded.
show.progress
parameter added to control chattiness of progress updates.
- Invalid
unitizers
now prevent review of valid unitizers
. Fix the invalid unitizers
, or remove them from the review list (e.g. by moving them out of the primary unitizer
directory).
review
exposes use.diff
and show.progress
parameters.
- #278: Show more context when returning to a test via browser or on re-evaluation.
- #277: Handle CTRL+C interrupts so they do not kill the
unitizer
session (h/t [@milesmcbain](https://milesmcbain.micro.blog/2021/06/10/debugging-cantrip-from.html)).
v1.4.13-14
unitizer
no longer directly accesses .Traceback
to set traces in interactive sessions. Instead, traceback()
and .traceback()
are masked at the interactive prompt.
v1.4.11-12
- #248: Ensure vignettes can be tested with
tools::testInstalledPackage
.
- #250, #251, #254: Comment parsing improvements (h/t [@blset](https://github.com/brodieG/unitizer/issues/created_by/blset), [@kalibera](https://github.com/kalibera/))
- #263: Clarify documentation about potential state management issuess. This includes renaming “recommended” state management mode (see
?unitizerState
) to “suggested” (“recommended” still works).
- #268:
options(warn=2)
now works at the unitizer
prompt in interactive mode.
- #265: Bad vignette links in README (h/t [@moodymudskipper](https://github.com/moodymudskipper)).
- #260: Remove old test error display code.
- #246, #243: Assorted documentation updates. #254: Comment parsing.
- Fix
sprintf
unused argument errors in new versions of r-devel (h/t [@kalibera](https://github.com/kalibera/)).
stringsAsFactors
rose from the grave; we put it back.
v1.4.10
- Banish ghosts of
stringsAsFactors
.
v1.4.9
- #262 Interactive prompt slowness caused by recent R changes to
showConnections()
.
- #261 RDS files are explicitly saved in serialization version 2 for backwards compatibility.
- #244 Squash all partial match warnings that
unitizer
emitted under options(warnPartialMatch*)
.
- Tests explicitly set
stringsAsFactors=TRUE
so they don’t fail with the anticipated changed for R4.0.
- Adds the ‘unitizer.restarts.ok’ option to suppress warnings about being run within
withRestart
blocks.
v1.4.8
install.packages
calls in tests now use a temporary folder for library.
v1.4.7
- Set
RNGversion()
in internal tests due to changes to R sampling mechanism.
v1.4.6
- #258 Remove
devtools
as a suggests dependency (reported by @jimhester).
- #257 Ensure all slots in S4 prototypes exist in the class definition (reported by B. Ripley).
v1.4.5
- Colors in test browser working again.
- #220 Fix vignette ordering on CRAN.
- #225 Inferring file locations when not in pkg top level.
- #237 Option to turn off diffs.
- #239 Document issues with deparsing doubles in tests.
- #242 Correctly parse newlines in prompt input.
- #241
q()
actually works now.
- #231 Report parse warnings at prompt.
- #234 Random seed issues.
- #220 Re-order vignettes.
- Wrap
diffObj
call in try
to avoid killing unitizer
section when diffObj
errors.
- Modify
test_dir
calls to use wrap
on testthat
versions greater than 0.1.2.
v1.4.4
- Fix tests broken by R-devel 3.4.1 improvements to S4 deparsing
- #232 document that
.Last.value
does not work
- #228 more docs on handling RDS files
- README typos (@eddelbuettel)
- Improve vignette index
v1.4.3
- #221 Crash on Re-Run due to poor comparison of parsed test file sources
- #222 Allow loading of
unitizers
generated by later versions of the package in earlier version of the packages provided the object validates
- #224 Slow re-eval in recommended state mode with lots of files
v1.4.1-2
Fixing CRAN submission errors.
v1.4.0
First Release to CRAN.
- #213: Disable advanced state management by default to comply with CRAN
- #203: Better reporting of search path state differences
- Assorted bugfixes and enhancements: #214, #215, #208, #201, #208, #199, #197
v1.2.0 - v1.3.0
Interim release to get changes over past year out on the master branch.
Improvement / Changes:
- #194: Performance improvements
- #102: Ability to break out of multi file review with
QQ
- #186: If you type
q()
or quit()
by mistake you can now cancel that action before unitizer
terminates unceremoniously
- #142: Ability to run
unitize
and unitize_dir
without specifying any arguments (infer from working directory)
- #168: Failing tests now will display all output and conditions
- #171: Flush warnings in
unitizer
REPL
- Improved integration of object diffs via
.DIFF
and .diff
- Display improvements, including:
- Cleaner separation of
unitizer
meta-output vs. test or command line
- #164, #176: Streamline state difference display
- Several other enhancements
Bugfixes:
- #188: Search path issues in r-devel @richierocks
- Fix unintended detaching of
tools:rstudio
, and many others
base.env
now unique for each unitizer
v1.1.0
Improvement / Changes:
- #161: Compare objects with
diffobj::diffObj
- #166: More systematic handling of
library
/attach
/detach
Bugfixes:
- Several unitizer prompt issues:
- No longer capture prompt evals so
debug
is usable again
- Parse errors reported correctly
- #165: Confusing Help Prompt
- Reference state properly preserved (previously would incorrectly use new state for reference tests kept in store)
- Internal shimming of library/detach/attach more robust
- Updated tests for changes in testthat, R
v1.0.0-1.0.9
Improvement / Changes:
- More comprehensive state tracking and resetting:
- options, random.seed, and wd are tracked in addition to search path
- state is reset when reviewing tests as well as when executing them
- you are alerted off state differences between new and reference tests on error
- State control parameters are streamlined; API breaking
- Whether an expression is ignored or not is now a function of whether the expression returns visibly or not
- Pre and post test scripts
- ‘helper’ directory renamed ’_pre’
- Can now use a ’_post’ directory to run cleanup
- Interactive environment cleanup
- Display tweaks
- Contextual help tweaks
- Vignette updates
- Demo update
- Added
Rdiff_obj
to run a tools::Rdiff
directly on two R objects
Internal:
- Reduced storage requirements for the
unitizer
stores
- No longer storing assignments both as test value and object in environment
- Calls recorded deparsed instead of as call objects
- Shimming used for search path tracking is more lightweight
- Text capture much more robust
Issues Fixed:
107, 106, 104, 103, 101, 99, 98, 94, 93, 90, 85, 84, 77, 74, 71, 67, 127, 115, 132, 134
v0.9.0
Improvements / Changes:
- Complete restructure of internal test management to allow for much more robust
unitize_dir
behavior (#51)
- Added
testthat
-> unitizer
translation utilities (see ?testthat_translate_file
)
- Can now pre-load objects before unitizing;
unitize_dir
and unitize
by default auto-preload files in subdir ‘helper’
- Renamed arg
env.clean
to par.env
(technically API breaking, but since no one is using this package yet…)
- Many usability fixes (#48, #68, #82, #83), and improved text display
- Improved path inference to better guess desired unitizer based on partiallly specified file names (#72)
Other
unitize_dir
works with empty dirs (#78)
- Better management of file locations and names (#35, #75)
v0.8.1
Bugfixes
review
now properly infers unitizer locations
v0.8.0
Improvements:
- Added ability to accept multiple tests at once (Issue #45, use wisely…)
unitize
can now infer partially specified test file names (in particular, will know to look in pkgname/tests/unitizer
; see ?infer_unitizer_location
)
parse_with_comments
no longer run in non-interactive mode (#63)
- Test call now part of output of test object
show
method (#54)
Bugfixes:
- Comments inside
unitizer_sect
preserved (#64)
- Ignored tests assigned to first non-ignored test section (#57)
- Prompt display issues (#65, #66)
Internal:
search_path_cleanup
more robust (#59)
get_text_capture
tests added (#60)
v0.7.1
Improvements:
- Reduced test execution and parsing overhead
- Better handling of call recording for traceback and condition calls
editFunNames
becomes editCalls
and provides more comprehensive editing of calls (Issue #52)
Bufixes:
- Comment handling in calls (Issues #56, #58)
- Comment deparsing (Issues #39, #47, #52)
v0.7.0
Improvements:
- Failed tests now automatically output a snippet of new and reference objects (Issue #34)
- Text handling generally improved (better wrapping, etc. Issue #38)
- Parsing speed improved (Issue #15)
- Got rid of
get*
functions, instead, access test details with .NEW
/.REF
(Issue #29)
- Implemented
editFunNames
to allow user to modify stored calls in unitizer
so that tests can be re-used even if function names are changed
v0.6.5
Doc updates; should have been part of 0.6.4, but was too rushed to push…
v0.6.4
Improvements:
- Comment parsing faster (issue #15)
Bugfixes:
- Reference section logic improved (assume fixes #36 until there is evidence against)
- Several parse errors fixed
Other:
- Now depends on R 3.1.2 (not really, but that’s what we are developing on and don’t have bandwidth to test against multiple R versions)
v0.6.3
Bugfixes:
- stderr now show in
review
mode (issue #43)
- package startup messages suppressed (issue #23)
- small demo bug
v0.6.2
Bugfixes:
- Better whitespace wrapping in terminal mode (partially addresses #38)
- Can now drop all items in review mode (issue #37)
- Workaround an R parse bug (issue #41)
traceback()
now works for stop(simpleError(...))
type stops
Behavior changes:
- History is only subbed out if you need to type input (issue #40)
v0.6.1
Minor release, no substantive changes.
Bugfixes:
- Loading a
unitizer
no longer automatically modifies it through upgrade
upgrade
cleaned up and has tests now
- calling functions in form
pkg::fun
or pkg:::fun
no longer causes problems when checking for ignoredness
Behavior changes:
get
no longer warns if unitizer
ids don’t match
v0.6.0
New Features:
- Added a demo (
demo(unitizer)
)
- Broke up and updated vignettes
unitize_dir
allows you to run all tests in a directory (issue #24)
review
allows you to review and drop tests from an existing unitizer
store (issue #21)
- Test navigation mechanism improved (issue #26)
- Typing R at the unitizer prompt now allows you to review all tests
- You can skip ahead too
unitize(..., force.update=TRUE)
will overwrite unitizer even if there were no changes recorded (issue #19)
Behavior changes:
unitize
now runs with search.path.clean=TRUE
by default
Bugfixes:
- Comparison function warnings not captured (issue #14)
- Search path restoration error messages fixed (issue #22)
- Navigation regressions fixed (issue #30)
Other:
Summary titles cleaned up, interative prompts made clearer, package reload warn conflicts quieted (d2fe594c747, #23)
v0.5.0
New Features:
- Can now run tests in clean environment (i.e. objects from .GlobalEnv will not be visible) (issue #13)
- Can now run tests with clean search path (i.e. only the basic R libraries are loaded) (also issue #13), use
unitize(..., search.path.clean=TRUE)
- New vignette “Reproducible Tests” discusses the above features
Bugfixes:
- Expressions printed as tests evaluated now truncated corretly (issue #4)
- Incorrect displaying/hiding of ignored tests in some circumstances fixed
Other Improvements:
- Summary no longer includes “removed” tests in matrix, since those are section- less
- Other minor clean-up of the interactive environment prompting
v0.4.3
Many interactive use bug fixes:
- LBB now parsed properly (issue #5)
- Non interactive parse (issue #11)
- Review and Back behavior consistent now in interactive use (issue #3)
- Other interactive use cleanup (issues #6, 12, 10, 9)
- Vignette now done properly
v0.4.2
- Fixed setOldClass conflicts with RJSONIO (issue #1)
- Fixed run_ls not finding base env under certain circumstances (issue #2)
- Fixed conditionLists looping issue introduced when fixing issue #1