NEWS
unitizer 1.4.21 (2024-05-18)
- Suppress test caused to fail by checks added to
parent.env<-
in r-devel r86545.
unitizer 1.4.20 (2023-10-08)
unitizer 1.4.19 (2023-03-20)
- #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.
unitizer 1.4.18 (2022-03-23)
- #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
.
unitizer 1.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.
unitizer 1.4.15.9000
Non-CRAN release to fix test issues under covr
and on older R versions.
unitizer 1.4.15 (2021-08-01)
- 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).
unitizer 1.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.
unitizer 1.4.11-12
- #248: Ensure vignettes can
be tested with
tools::testInstalledPackage
.
- #250,
#251,
#254: Comment parsing
improvements (h/t
@blset,
@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).
- #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).
stringsAsFactors
rose from the grave; we put it back.
unitizer 1.4.10 (2020-05-12)
- Banish ghosts of
stringsAsFactors
.
unitizer 1.4.9 (2020-03-02)
- #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.
unitizer 1.4.8 (2019-03-27)
install.packages
calls in tests now use a temporary folder for library.
unitizer 1.4.7 (2019-03-16)
- Set
RNGversion()
in internal tests due to changes to R sampling mechanism.
unitizer 1.4.6 (2019-01-27)
- #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).
unitizer 1.4.5 (2017-11-24)
- 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.
unitizer 1.4.4 (2017-09-02)
- 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
unitizer 1.4.3 (2017-06-08)
- #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
unitizer 1.4.1-2
Fixing CRAN submission errors.
unitizer 1.4.0 (2017-04-03)
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
unitizer 1.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
unitizer 1.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
unitizer 1.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
unitizer 0.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)
unitizer 0.8.1
Bugfixes
review
now properly infers unitizer locations
unitizer 0.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)
unitizer 0.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)
unitizer 0.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
unitizer 0.6.5
Doc updates; should have been part of 0.6.4, but was too rushed to push...
unitizer 0.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)
unitizer 0.6.3
Bugfixes:
- stderr now show in
review
mode (issue #43)
- package startup messages suppressed (issue #23)
- small demo bug
unitizer 0.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
unitizer 0.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)
unitizer 0.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
unitizer 0.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
unitizer 0.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