Commit Graph

109 Commits

Author SHA1 Message Date
Cas Cremers
3a6041ccac Conversion to python3, using 2to3. 2020-10-27 22:09:03 +01:00
Cas Cremers
4f252d55a7 Bugfix in case commandline text is empty. 2014-06-10 14:55:13 +01:00
Cas Cremers
a7230702cb Cleanup of obsolete module import. 2013-12-09 14:25:11 +00:00
Cas Cremers
c9b1d08f4f Hack for Windows users to compensate for Graphviz "feature".
Recent versions of Graphviz no longer set the PATH variable on Windows.
Hence Scyther can fail to find dot.exe even though Graphviz was appropriately
installed.

This patch is a hack to try and locate dot.exe in the more common locations.
We currently have a hardcoded search through:

  C:\Program Files\Graphviz*
  C:\Program Files (x86)\Graphviz*

This is clearly fragile. Obviously, nobody should be solving Graphviz' problem
in such an ugly way. Change drives or languages and it stops working.

Until Graphviz provides at least an alternative environment variable (GVPATH?)
this hack will help the bulk of our users to get things up and running smoothly.
2013-12-09 14:24:57 +00:00
Cas Cremers
7e3f0ed73b BUGFIX: Reverted use of shlex.
Shlex is only intended to work for Unix-like shells, and using it on
Windows causes problems. We now resort to simply always using the shell
on Unix-like platforms (as our command input is always a string, and not
an array). On Windows, the string input is always okay, even when not
using the shell.

This is a follow-up to a bug report by M. Kammerer on failing Windows
installs.
2013-12-09 09:07:47 +00:00
Cas Cremers
d06247fcfe Updating time stamps for next release. 2013-10-05 23:56:12 +01:00
Cas Cremers
fe364fbe9d GUI: Canceling verification now also kills back-end thread.
Previously, pressing 'cancel' in the verification window would leave a dangling scyther backend process.
Now the process gets correctly killed.

The following changes enable this:
- External processes are no longer invoked through the shell (otherwise they are subprocesses of the shell and cannot be reliably killed cross-platform).
- The 'safeCommand' procedure now has a hook for passing opened Popen objects.
- The GUI stores and kills the Popen objects on cancel or window close.

To do: an alternative interface for this in 'safeCommand' could expose a 'killMe' method through a callback; this might be cleaner in the long term.
2013-06-30 23:14:28 +02:00
Cas Cremers
9e13d07b6e BUGFIX: Invoking Scyther scripts from non-standard directories or using symlinks should work consistently now.
Before, we were using both __file__ as well as sys.argv[0] to determine the base directory
for Scyther, and we were not taking symlinks into account.

By using the inspect module, we can consistently pick the current frame and derive
the file from that, then use realpath to strip symlinks.
2013-05-01 14:16:12 +02:00
Cas Cremers
ba5166bd84 NEW: Added environment variable "SCYTHERCACHEDIR" to determine cache usage.
If this variable is unset, Scyther writes into /tmp/Scyther-cache (or similar).
If this variable is set to "", caching is disabled.
Otherwise, Scyther writes into $SCYTHERCACHEDIR/Scyther-cache
2012-12-06 10:17:53 +01:00
Cas Cremers
3a6d65463f Improving error reporting on wx import errors. 2012-04-26 14:27:00 +02:00
Cas Cremers
9b0915441f Synchronising MPA branch with compromise branch where possible. 2012-04-25 17:03:51 +02:00
Cas Cremers
1cbe9826ac Updated dates. 2012-04-24 13:56:51 +02:00
Cas Cremers
626385821a Minor restructuring and fallback error even even tkInter is not installed. 2012-04-24 12:34:42 +02:00
Cas Cremers
6ed32d0f4c BUGFIX: Fixed overzealous deletion in init scripts and fixed reference to removed SetBinDir. 2012-02-27 11:52:33 +01:00
Cas Cremers
4b62062765 Cleanup of path reconstruction. 2011-09-23 12:18:59 +02:00
Cas Cremers
bc667f3f32 Improving some scripts; exploit cache better. 2011-03-31 15:02:49 +02:00
Cas Cremers
985397c8b6 Cache structure change: from Cache/XX/file to Cache/XX/YY/file 2011-01-21 17:38:45 +01:00
Cas Cremers
63aefc1c46 BUGFIX: makedirs wasn't working as expected, reverting to builtin. 2011-01-21 17:38:14 +01:00
Cas Cremers
fa8440c8e5 BUGFIX: Silly typo. 2011-01-18 17:05:07 +01:00
Cas Cremers
ed147bbace Bugfix on empty input. 2010-12-31 15:42:01 +01:00
Cas Cremers
5ee0f7563b Improving latex output of MPA test, expanding glue functionality. 2010-12-27 22:30:58 +01:00
Cas Cremers
e42aa1215e Scyther.py: Added Caching to Scyther's Python interface.
Cached data is stored in:

Cache/XX/YYYYY.out (stdout)
Cache/XX/YYYYY.err (stderr)

Where XX^YYYYY is the sha256 hexdigest of the concatenation of the input spdl and
the arguments.
2010-11-11 10:37:18 +01:00
Cas Cremers
cbb66ea794 Scyther.py: Improving Scyther python interface by giving options and filenames when reporting an error. 2010-11-11 10:37:18 +01:00
Cas Cremers
e5fc05a379 Correctly escaping program file name. 2010-05-16 00:36:06 +02:00
Cas Cremers
dc4dc34624 String commands require shell=True. 2010-05-16 00:33:53 +02:00
Cas Cremers
7d03f22b24 Added new 'safeCommandOutput' command to Scyther/Misc and force use of Python 2.4 or later. 2010-05-15 23:26:44 +02:00
Cas Cremers
cd33fb3e14 BUGFIX: Paths with control characters (e.g. $) were causing trouble. 2009-04-30 13:40:06 +02:00
Cas Cremers
630f6e9459 Added large delta-test script.
The script runs over all protocol files it can find, and runs it using two different
command-line parameters to scyther. If the results differ, the script reports it.

The code can use some cleanup, removing e.g. global variables, but it works.
2008-08-21 21:20:16 +02:00
Cas Cremers
aaf27779a3 Allow for use of RECV instead of READ.
Read will become deprecated later on.
2008-08-21 16:58:53 +02:00
Cas Cremers
6e65138dca Added --license switch to the Gui. 2007-10-08 14:52:50 +02:00
Cas Cremers
59d061c47f Patch by Alberto Piai to address new integration of (c)elementtree into core python. 2007-10-08 13:59:16 +02:00
Cas Cremers
f901951e4b Added GPL 2 to the Python scripts. 2007-06-11 14:12:33 +02:00
Cas Cremers
76c516dee0 Merge branch 'reverting-b7' into release 2007-05-21 16:41:19 +02:00
Cas Cremers
742cbcda60 - Added some ignore patterns. 2007-05-21 13:56:00 +02:00
Cas Cremers
461895555b - Removed Bin subdirectory and updates scripts. 2007-05-21 13:34:43 +02:00
Cas Cremers
f837d1b000 Integrated XP fixes 2007-05-19 16:27:28 +02:00
Cas Cremers
4bf7126a45 - Removed binaries (no longer part of the tree) 2007-05-19 15:55:46 +02:00
Cas Cremers
f47c1e7e5e - Factored out the safe external command process. It turns out that the shell should not be used under windows Popen, but on the other hand is must be used under Linux. 2007-05-19 15:32:58 +02:00
Cas Cremers
688416a351 - Rewrite subprocess access to the newer subprocess.Popen module. This seems to work just fine for Windows XP, at least. 2007-05-19 14:29:32 +02:00
Cas Cremers
1542d65def - Big catchup commit to make sure we are up to beta7.
This includes a number of single patches, ranging from the vista fix with the buffers, to the start of many new minor features.
2007-05-18 14:06:29 +02:00
ccremers
eea7a09730 - New type versioning for the Mac too 2007-05-03 15:54:00 +00:00
ccremers
09419702d8 - New version mechanism in place 2007-05-03 15:52:51 +00:00
ccremers
32e6070a26 - New Mac version 2007-05-03 15:47:15 +00:00
ccremers
14170f603f - New binaries 2007-05-03 13:26:04 +00:00
ccremers
1558ef1987 - New Mac binary 2007-05-03 13:25:30 +00:00
ccremers
9882651f4a - Fixed role comparison bug. 2007-02-01 12:18:38 +00:00
ccremers
6e82d585be - Errors now get a nice colour 2007-01-31 15:45:05 +00:00
ccremers
ed433130e2 - New binaries. 2007-01-31 11:24:25 +00:00
ccremers
2ff5adf040 - Minor cleanup on Scyther output parser. 2007-01-30 17:43:58 +00:00
ccremers
6f5846d09f - Added new binaries for both windows and linux 2007-01-29 22:56:56 +00:00