unitizer
NEWS
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).
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, @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.
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