]>
granicus.if.org Git - graphviz/log
Matthew Fernandez [Sat, 31 Oct 2020 16:38:52 +0000 (09:38 -0700)]
remove an unnecessary unary +
Matthew Fernandez [Sat, 31 Oct 2020 16:28:24 +0000 (09:28 -0700)]
fix: fclose(NULL) in the VRML plugin when current directory is not writable
The VRML plugin writes PNG files of each node in the graph alongside the VRML
output that then references these files. If you give no output location (do not
pass `-o` to dot), the VRML output is written to stdout and the node PNG files
are written to the current directory. However, the plugin was not checking
whether opening of these PNG files succeeded. As a result, if the current
directory was not writable, it would end up calling fclose() with a NULL
pointer.
This change makes the plugin report the failure to open PNG files and cause dot
to eventually exit with non-zero. Note that VRML processing is not stopped, so
the user can still get complete VRML output, albeit missing the associated PNG
files that will be referenced.
The test case included in this commit does not necessarily reproduce the failure
prior to these changes. This is because Glibc allows fclose(NULL). However, this
is beyond the spec and other libcs do not provide these guarantees.
Fixes #793.
Matthew Fernandez [Wed, 4 Nov 2020 16:27:20 +0000 (16:27 +0000)]
Merge branch 'smattr/
8b5fbbeb -e221-4eb3-a26b-
0935708c3521 ' into 'master'
remove unnecessary branching for malloc/realloc
See merge request graphviz/graphviz!1652
Matthew Fernandez [Thu, 29 Oct 2020 02:54:31 +0000 (19:54 -0700)]
remove unnecessary cast of a parameter to realloc()
This implicitly coerces to void*.
Matthew Fernandez [Thu, 29 Oct 2020 02:51:47 +0000 (19:51 -0700)]
remove some unnecessary allocation casts
These return values implicitly coerce to other pointer types.
Matthew Fernandez [Thu, 29 Oct 2020 02:50:49 +0000 (19:50 -0700)]
remove some unnecessary branching for malloc/realloc
When realloc() is passed NULL as its first parameter, it acts the same as
malloc().
Matthew Fernandez [Thu, 29 Oct 2020 02:48:51 +0000 (19:48 -0700)]
remove some commented out code
Matthew Fernandez [Wed, 4 Nov 2020 15:57:52 +0000 (15:57 +0000)]
Merge branch 'smattr/
5d4e3a2b -8dff-4eee-81b1-
76ad3a6885be ' into 'master'
squash some compiler warnings
See merge request graphviz/graphviz!1651
Matthew Fernandez [Thu, 29 Oct 2020 01:19:31 +0000 (18:19 -0700)]
squash a -Wconversion warning
Matthew Fernandez [Thu, 29 Oct 2020 01:19:17 +0000 (18:19 -0700)]
squash a -Wconversion warning
Matthew Fernandez [Thu, 29 Oct 2020 01:18:57 +0000 (18:18 -0700)]
squash some -Wconversion warnings
Matthew Fernandez [Thu, 29 Oct 2020 01:18:31 +0000 (18:18 -0700)]
remove an unnecessary cast
Squashes a -Wcast-qual warning.
Matthew Fernandez [Thu, 29 Oct 2020 01:08:42 +0000 (18:08 -0700)]
remove unused addSpace parameter to gv_trim_zeros()
Matthew Fernandez [Tue, 3 Nov 2020 01:36:44 +0000 (01:36 +0000)]
Merge branch 'smattr/
DF679B9B -496A-45B6-B14B-
856D8DD8212B ' into 'master'
make compiler warnings for CMake Linux/macOS builds fail CI
See merge request graphviz/graphviz!1653
Magnus Jacobsson [Sun, 1 Nov 2020 14:05:47 +0000 (14:05 +0000)]
Merge branch 'with-quartz-yes-on-macos' into 'master'
Enable building with quartz on macOS
See merge request graphviz/graphviz!1649
Magnus Jacobsson [Mon, 26 Oct 2020 07:20:39 +0000 (08:20 +0100)]
Add --with-quartz=yes to configure on macOS
Matthew Fernandez [Sun, 1 Nov 2020 03:20:08 +0000 (03:20 +0000)]
Merge branch 'smattr/
4EEAF0CE -D0C3-479C-A9F1-
A91B90168C2F ' into 'master'
fix some #includes in the Quartz plugin
See merge request graphviz/graphviz!1648
Matthew Fernandez [Sun, 25 Oct 2020 20:50:46 +0000 (13:50 -0700)]
fix some #includes in the Quartz plugin
This reverts part of
d80f685dbacc2cfa3e496415739b4d6cfad32233 that incorrectly
updated paths to the header gvplugin_quartz.h. This mistake was not detected at
the time as we did not have macOS CI. Thanks to Stephen for picking this up.
Related to #1785.
Matthew Fernandez [Sat, 31 Oct 2020 03:20:41 +0000 (20:20 -0700)]
make compiler warnings for CMake Linux/macOS builds fail CI
Now that these builds are warning-free, we can "turn the ratchet" to demand they
stay warning-free or constitute a regression.
Matthew Fernandez [Sat, 31 Oct 2020 02:40:03 +0000 (02:40 +0000)]
Merge branch 'smattr/
9f1ba4b1 -6f37-4d49-b1a2-
3f1fee7ee743 ' into 'master'
some pythonizing of rtest
See merge request graphviz/graphviz!1646
Matthew Fernandez [Sat, 24 Oct 2020 19:49:20 +0000 (12:49 -0700)]
use write() instead of print() for writing to a file
Matthew Fernandez [Sat, 24 Oct 2020 19:43:38 +0000 (12:43 -0700)]
remove unused GRAPH variable
Matthew Fernandez [Sat, 24 Oct 2020 19:42:45 +0000 (12:42 -0700)]
remove unused IDX variable
Matthew Fernandez [Sat, 24 Oct 2020 19:41:39 +0000 (12:41 -0700)]
unfuse another with block in rtest
Matthew Fernandez [Sat, 24 Oct 2020 19:40:03 +0000 (12:40 -0700)]
unfuse a with block in rtest
Matthew Fernandez [Sat, 24 Oct 2020 19:32:12 +0000 (12:32 -0700)]
fix handling of KFLAGS and TFLAGS in rtest
This was potentially appending empty strings to the command passed to
subprocess.
Matthew Fernandez [Sat, 24 Oct 2020 19:20:04 +0000 (12:20 -0700)]
write readSubtests() more Pythonically
Matthew Fernandez [Sat, 24 Oct 2020 19:15:10 +0000 (12:15 -0700)]
use shutil.rmtree in preference to pathlib unlink
The missing_ok argument was only added to pathlib.Path.unlink in Python 3.8.
This made the cleanup function fail (sometimes silently) on versions of Python
prior to 3.8.
Matthew Fernandez [Sat, 24 Oct 2020 18:58:12 +0000 (11:58 -0700)]
fix: remove unused format arguments in rtest
This was detected by `python3 -m pylint --errors-only rtest/rtest.py`.
Matthew Fernandez [Sat, 31 Oct 2020 02:09:33 +0000 (02:09 +0000)]
Merge branch 'smattr/
81334456 -1889-4c1c-b6ee-
3e83aa779c2f ' into 'master'
fix macOS CMake build warnings
See merge request graphviz/graphviz!1644
Matthew Fernandez [Sat, 24 Oct 2020 17:28:38 +0000 (10:28 -0700)]
fix printf format code in agnameof()
This fixes a build warning on macOS when using CMake. Related to !1620.
Matthew Fernandez [Sat, 24 Oct 2020 17:24:34 +0000 (10:24 -0700)]
use safer snprintf in agnameof()
Matthew Fernandez [Sat, 24 Oct 2020 17:24:11 +0000 (10:24 -0700)]
reduce the scope of a buffer in agnameof()
Matthew Fernandez [Sat, 24 Oct 2020 17:22:35 +0000 (10:22 -0700)]
fix printf format code in write_nodename()
This fixes a build warning on macOS when using CMake. Related to !1620.
Matthew Fernandez [Sat, 24 Oct 2020 17:13:39 +0000 (10:13 -0700)]
use safer snprintf in write_nodename()
Matthew Fernandez [Sat, 24 Oct 2020 17:13:04 +0000 (10:13 -0700)]
reduce the scope of buffer in write_nodename()
Matthew Fernandez [Sat, 24 Oct 2020 17:11:36 +0000 (10:11 -0700)]
fix buffer overflow in write_nodename()
This buffer was not large enough to print the string and uint64_t that gets
written into it. Related to !1620.
Matthew Fernandez [Sat, 24 Oct 2020 16:53:57 +0000 (09:53 -0700)]
fix missing bracketing in a macro expansion
None of the calls to this macro were passing in multiple tokens, so this issue
was latent. This refactor is for the safety of any future introduced calls to
EMPTY().
Matthew Fernandez [Sat, 24 Oct 2020 16:43:24 +0000 (09:43 -0700)]
fix handling of varargs in gvprintf
It is not safe to re-va_start a va_list the way this code was previously
operating. This probably worked by coincidence on platforms like x86-64.
Matthew Fernandez [Sat, 24 Oct 2020 16:49:36 +0000 (09:49 -0700)]
switch to safer snprintf in portName()
Matthew Fernandez [Sat, 24 Oct 2020 16:24:33 +0000 (09:24 -0700)]
fix print of an AGSEQ
This squashes a build warning on macOS when using CMake. Related to !1620.
Matthew Fernandez [Sat, 24 Oct 2020 16:17:54 +0000 (09:17 -0700)]
fix a buffer overflow in string construction
The conditional in this code was the wrong way around. So the %s branch could be
taken only when the resulting sprintf would *definitely* overflow the target
buffer. From this we can conclude this branch was never safe and never used
correctly. For simplicity, we remove it, leaving only the %d option. Related to
!1620.
Matthew Fernandez [Sat, 31 Oct 2020 00:21:17 +0000 (00:21 +0000)]
Merge branch 'smattr/
029D9712 -951E-4082-B254-
9B0BB83BC384 ' into 'master'
remove a use of setjmp/longjmp
See merge request graphviz/graphviz!1645
Matthew Fernandez [Sat, 24 Oct 2020 18:51:27 +0000 (11:51 -0700)]
remove a now unused jmp_buf
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:50:47 +0000 (11:50 -0700)]
indicate failure in growops() by return value instead of longjmp()
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:44:39 +0000 (11:44 -0700)]
indicate failure from growtris() by return value instead of longjmp()
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:39:19 +0000 (11:39 -0700)]
add a return value to loadtriangle()
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:33:34 +0000 (11:33 -0700)]
add a return value to triangulate()
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:23:56 +0000 (11:23 -0700)]
remove unnecessary use of longjmp() in growdq()
Related to #1801.
Matthew Fernandez [Sat, 24 Oct 2020 18:17:54 +0000 (11:17 -0700)]
remove an unnecessary use of longjmp() in growpnls()
Related to #1801.
Matthew Fernandez [Fri, 30 Oct 2020 14:08:00 +0000 (14:08 +0000)]
Merge branch 'smattr/
4b7c9c53 -bdf9-48ef-8fa6-
7c06fc5720b4 ' into 'master'
stop shipping strcasecmp.h
See merge request graphviz/graphviz!1642
Matthew Fernandez [Sat, 24 Oct 2020 03:02:07 +0000 (20:02 -0700)]
stop shipping strcasecmp.h
The header strcasecmp.h is a portability shim that was introduced in
cadb72d6157603338a990be4e27a599c7b96b214 . However, no installed Graphviz headers
#include this header, so we do not need to install it. It is cleaner not to
clutter the shipped Graphviz include directory with an internal shim like this.
Note that there is no changelog entry for this change and this is not an API
break because there has not yet been a release since this header was added.
Mark Hansen [Thu, 29 Oct 2020 10:01:43 +0000 (10:01 +0000)]
Merge branch 'orientation' into 'master'
Delete attrs.html from main graphviz repo
Closes graphviz.gitlab.io#65
See merge request graphviz/graphviz!1641
Mark Hansen [Thu, 29 Oct 2020 09:32:45 +0000 (20:32 +1100)]
Delete attrs.html from main graphviz repo
This now canonically lives in the graphviz.gitlab.io repo (the docs repo):
https://gitlab.com/graphviz/graphviz.gitlab.io/-/blob/master/doc/info/attrs.html
This gives one central source of truth for the docs, so that people
updating the docs don't have to update 3 locations (doc/info,
doc/infosrc, and the docs repo).
It's perhaps a little controversial to redirect the old docs. The old
docs are still built into some OS's HTML docs packages, but I imagine
the vast majority of users access docs through the graphviz website
after using a search engine to find them.
Fixes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/65
Matthew Fernandez [Thu, 29 Oct 2020 01:19:47 +0000 (01:19 +0000)]
Merge branch 'smattr/
f037c2f4 -a5af-4f90-a41d-
412fb74c4296 ' into 'master'
add CI testing of HTML files in the repository
See merge request graphviz/graphviz!1637
Matthew Fernandez [Fri, 23 Oct 2020 00:02:57 +0000 (17:02 -0700)]
run pytest with --verbose in CI
This makes it a little easier to see from the logs which tests were skipped and
to validate that the tests you think are being found are actually running.
Matthew Fernandez [Fri, 23 Oct 2020 00:00:37 +0000 (17:00 -0700)]
add test cases for validating in-repo HTML files
Related to #1861.
Matthew Fernandez [Thu, 29 Oct 2020 00:49:13 +0000 (00:49 +0000)]
Merge branch 'smattr/
38BA03F9 -7DC4-4E4F-8B4C-
51C3F360855D ' into 'master'
remove unnecessary casts and fix a memory leak
See merge request graphviz/graphviz!1630
Matthew Fernandez [Thu, 22 Oct 2020 00:05:05 +0000 (17:05 -0700)]
remove unnecessary casts from parameters to memcpy
These implicitly coerce to void* so a cast is not required.
Matthew Fernandez [Thu, 22 Oct 2020 00:05:01 +0000 (17:05 -0700)]
rephrase some swapping code
C allows you to assign structs in this way, so there's no need to use a more
confusing memcpy sequence.
Matthew Fernandez [Thu, 22 Oct 2020 00:04:53 +0000 (17:04 -0700)]
remove unnecessary casts on arguments to free()
These implicitly coerce to void* so no cast is needed.
Matthew Fernandez [Thu, 22 Oct 2020 00:04:48 +0000 (17:04 -0700)]
remove unnecessary guards on calls to free()
Freeing NULL is a no-op, so there is no need for these extra conditionals.
Matthew Fernandez [Thu, 22 Oct 2020 00:04:44 +0000 (17:04 -0700)]
fix memory leak in gvplugin_list
It seems clear these conditionals were reversed and were meant to read
`if (typestr_list)`. Rather than flip their polarity, we just remove them as it
is safe to free NULL.
Matthew Fernandez [Thu, 22 Oct 2020 00:04:38 +0000 (17:04 -0700)]
remove some unnecessary casts of arguments to realloc()
These parameters implicitly coerce to void* with no casting required.
Matthew Fernandez [Thu, 22 Oct 2020 00:04:33 +0000 (17:04 -0700)]
remove unnecessary casts of realloc() return value
realloc returns a void* which, in C, implicitly coerces to all other pointer
types
Matthew Fernandez [Thu, 22 Oct 2020 00:04:26 +0000 (17:04 -0700)]
remove unnecessary casts of calloc() return value
calloc returns a void* which, in C, implicitly coerces to every other pointer
type.
Matthew Fernandez [Thu, 22 Oct 2020 00:03:54 +0000 (17:03 -0700)]
remove unnecessary casts of malloc() return value
malloc returns a void* which, in C, implicitly coerces to every other pointer
type.
Magnus Jacobsson [Wed, 28 Oct 2020 21:44:57 +0000 (21:44 +0000)]
Merge branch 'add-some-missing-tools-to-macos-autotools-build' into 'master'
Add some missing tools to macos autotools build
See merge request graphviz/graphviz!1650
Magnus Jacobsson [Mon, 26 Oct 2020 09:52:41 +0000 (10:52 +0100)]
Enable dotty, lefty, lneato and vimdot to be built on macOS.
Enabled by adding brew install libxaw to macOS builds
Fixes https://gitlab.com/graphviz/graphviz/-/issues/1858
Towards https://gitlab.com/graphviz/graphviz/-/issues/1854
Magnus Jacobsson [Mon, 26 Oct 2020 09:49:21 +0000 (10:49 +0100)]
Move common commands from macOS jobs to macos_build_definition
Matthew Fernandez [Wed, 28 Oct 2020 00:06:02 +0000 (00:06 +0000)]
Merge branch 'smattr/
6f54cfb5 -5fb4-42a0-aba0-
41e155372757 ' into 'master'
refactor tests cases into CI-only and others relevant to developers and CI
Closes #1851
See merge request graphviz/graphviz!1647
Matthew Fernandez [Tue, 27 Oct 2020 14:42:53 +0000 (14:42 +0000)]
Merge branch 'smattr/
BDA848A6 -E53C-4722-BDF7-
B82677681621 ' into 'master'
clean up and a UB fix
See merge request graphviz/graphviz!1621
Matthew Fernandez [Sun, 25 Oct 2020 04:03:04 +0000 (21:03 -0700)]
remove fine grained test skip logic and now depend on tool existence
The test suite should now pass on developers' machines, regardless of which
build configuration or subset of tools they use. Closes #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:17:45 +0000 (20:17 -0700)]
add others to the CI tool check that do not need fine grained exceptions
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:13:39 +0000 (20:13 -0700)]
add exemption list for Autotools macOS build in CI tool check
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:11:33 +0000 (20:11 -0700)]
add MSBuild exemption list to CI tool check
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:10:09 +0000 (20:10 -0700)]
add CMake exemptions to CI tool check
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:08:16 +0000 (20:08 -0700)]
extend CI tool check to dot_builtins
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:06:46 +0000 (20:06 -0700)]
extend CI tool check to Mingle
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 03:04:58 +0000 (20:04 -0700)]
check that Smyrna exists in CI
Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 02:53:06 +0000 (19:53 -0700)]
move some pytest skip logic into a decorator
For more consistency with other tests.
Matthew Fernandez [Sun, 25 Oct 2020 02:49:43 +0000 (19:49 -0700)]
adjust installation test to work even if GV_VERSION is unset
This test should now run correctly in users' development environments as well as
in CI. Related to #1851.
Matthew Fernandez [Sun, 25 Oct 2020 18:20:32 +0000 (11:20 -0700)]
make gen_version run correctly regardless of CWD
Matthew Fernandez [Sun, 25 Oct 2020 02:34:08 +0000 (19:34 -0700)]
add a home for test cases that are only relevant to run in CI
Related to #1851.
Magnus Jacobsson [Sun, 25 Oct 2020 09:26:51 +0000 (09:26 +0000)]
Merge branch 'ensure-all-existing-tools-are-tested' into 'master'
Ensure all existing tools are tested
See merge request graphviz/graphviz!1643
Magnus Jacobsson [Tue, 20 Oct 2020 15:44:20 +0000 (17:44 +0200)]
Add check that expected missing tool doesn't exist to tools test
Magnus Jacobsson [Wed, 21 Oct 2020 15:05:12 +0000 (17:05 +0200)]
Add removal of old graphviz version before install on RPM systems
Matthew Fernandez [Sun, 25 Oct 2020 04:42:28 +0000 (04:42 +0000)]
Merge branch '
4AF62F39 -396B-483C-A035-
F1C7A0E5D039 ' into 'master'
remove some unused lib/cgraph functions
See merge request graphviz/graphviz!1445
Magnus Jacobsson [Thu, 22 Oct 2020 13:32:16 +0000 (15:32 +0200)]
Add removal of old graphviz version before install on macOS
Magnus Jacobsson [Tue, 20 Oct 2020 16:02:54 +0000 (18:02 +0200)]
Remove gc from tools_not_built_with_cmake list in tools test
It was a mistake to put it there in the first place.
Magnus Jacobsson [Fri, 23 Oct 2020 10:41:52 +0000 (12:41 +0200)]
Ensure that Graphviz tools are found first in Windows CMake jobs
Prepend Graphviz bin directory to path instead of appending it.
The tools test found
C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\gc.exe
before Graphviz gc.
Magnus Jacobsson [Sat, 24 Oct 2020 06:05:41 +0000 (06:05 +0000)]
Merge branch 'add-macos-test-jobs-to-gitlab-ci' into 'master'
Fix tool usage on macOS and add macOS test jobs to gitlab CI
Closes #1852, #1860, and #1727
See merge request graphviz/graphviz!1629
Magnus Jacobsson [Tue, 20 Oct 2020 13:04:01 +0000 (15:04 +0200)]
Add macos-cmake-test job to CI
Resolves https://gitlab.com/graphviz/graphviz/-/issues/1727.
Magnus Jacobsson [Tue, 20 Oct 2020 13:03:53 +0000 (15:03 +0200)]
Add macos-autotools-test job to CI
Towards https://gitlab.com/graphviz/graphviz/-/issues/1727.
Magnus Jacobsson [Tue, 20 Oct 2020 12:50:09 +0000 (14:50 +0200)]
Add skip of test_1818 also for macOS
Fails because of https://gitlab.com/graphviz/graphviz/-/issues/1858.
Magnus Jacobsson [Tue, 20 Oct 2020 12:48:44 +0000 (14:48 +0200)]
Add skip of test_1813 also for macOS
Fails because of https://gitlab.com/graphviz/graphviz/-/issues/1857.
Magnus Jacobsson [Tue, 20 Oct 2020 06:43:24 +0000 (08:43 +0200)]
Add skip of all tools not built for macOS in CI using autotools in tools test
Fails because not all tools are built for macOS in CI using
autotools. See https://gitlab.com/graphviz/graphviz/-/issues/1854
Magnus Jacobsson [Tue, 20 Oct 2020 16:23:00 +0000 (18:23 +0200)]
Add subset of macOS rtest reference files
Generated with ./rtest.py -g. The .gv files are identical to those in
the linux.x86 subdirectory. The .ps file has slight differences, but
no visible differences.
Magnus Jacobsson [Wed, 21 Oct 2020 06:53:12 +0000 (08:53 +0200)]
Add brew install pango to macos build jobs
Needed for png format and cairo renderer.
Fixes https://gitlab.com/graphviz/graphviz/-/issues/1860.
Magnus Jacobsson [Tue, 20 Oct 2020 13:51:12 +0000 (15:51 +0200)]
Add support for macOS to ci/install.sh