Matthias Koefferlein
74b6341425
Fixed unit tests, added swap function to tl::list
2019-01-25 23:19:12 +01:00
Matthias Koefferlein
3b0f4b3d78
WIP: fixed some compiler issues on certain systems.
2019-01-12 00:27:55 +01:00
Matthias Koefferlein
aeeb6d7c87
Fixed #200 by introducing layout locking during iteration
...
The cause for the problem was that the layout got updated
while iterating causing the mess within the iterator.
This solution is to lock the layout while an iterator
is present. This happens for various Cell and Shapes
iterator, so it's a major enhancement.
2019-01-09 01:06:11 +01:00
Matthias Koefferlein
d4d7ea8022
Updated copyright.
2019-01-08 01:09:25 +01:00
Matthias Koefferlein
b0d7f5f7f5
Updated copyright.
2019-01-08 00:58:45 +01:00
Matthias Koefferlein
37d8f0bfca
Added hierarchical progress reporting for more detailed progress.
2018-12-31 16:41:32 +01:00
Matthias Koefferlein
923e4075da
Added an intrinsic linked list implementation.
2018-12-31 15:25:45 +01:00
Matthias Koefferlein
7ceb4ed076
Fixed an issue with the deep region: the layout pointer is not a good key for the backannotation cache. So we better use the unique ID - a concept introduced herein.
2018-12-17 20:31:24 +01:00
Matthias Koefferlein
5c7cd02af3
Merge remote-tracking branch 'remotes/origin/pymod' into net-extract
2018-11-25 23:16:56 +01:00
Matthias Koefferlein
9539e36bc9
Fixed #195
2018-11-22 22:19:37 +01:00
Matthias Koefferlein
3f8825cfd1
WIP: Improved design of HierarchyBuilder, added tests.
2018-11-15 22:50:02 +01:00
Matthias Koefferlein
b192417809
Merge branch 'pymod' into net-extract
2018-11-10 22:42:48 +01:00
Matthias Koefferlein
8ab4868d76
Fixed build on Windows (tl::InputPipe::wait was missing)
2018-10-16 23:00:28 +02:00
Matthias Koefferlein
62224b0d91
Merge branch 'pymod' into net-extract
2018-10-14 23:57:18 +02:00
Matthias Koefferlein
dd9d46da38
Activated stream unit tests.
2018-10-14 23:34:25 +02:00
Matthias Koefferlein
3392c08d36
Merge branch 'pymod' into net-extract
2018-10-09 23:43:58 +02:00
Matthias Koefferlein
904a12c11e
Added a way to get the exit code from InputPipe
...
The method is to call wait() on the pipe object
which returns the exit code.
Some tests have been added for this.
2018-10-09 23:40:28 +02:00
Matthias Koefferlein
222b98fd70
Some fixes for the testsuite
...
With these fixes, unit tests pass with MacOS
(set DYLD_LIBRARY_PATH!)
1.) MacOS takes popen vs. pclose seriously
By using fopen we basically spoil the system and other popen
won't work.
2.) For system integrity, MacOS does not propagate DYLD_LIBRARY_PATH
to child processes such as sh. This has to be done explictly.
3.) Search the klayout binary in the right path (klayout.app/...)
4.) Reset KLAYOUT_HOME for less intervention by installed macros
2018-10-09 13:57:26 -07:00
Matthias Koefferlein
52a4459dac
WIP: timer enhanced (reports start now), drop empty boxes in hier processor (will make the processor stall).
2018-09-23 20:06:27 +02:00
Matthias Koefferlein
ad03533a7b
OASIS tests made robust against hash implementation
...
The text writer was made "normalizing": it will introduce
a certain element order (string sorting). This way, OASIS
files can be compared against golden data without
changes in the order due to different implementation of
hash containers.
2018-09-10 01:16:49 +02:00
Matthias Koefferlein
84072aa23e
Fixed a few things that got damaged in Linux build while doing MSVC compatibility.
2018-09-09 22:43:22 +02:00
Matthias Köfferlein
940a96716c
Fixed the timestamp generation for pthread-win32 timed waits
...
Issue: we have to use WIN API functions which deliver times in a
different way. In order to make the wait functions work, we have to use
the same time definition - specifically the same zero time.
2018-09-09 18:30:21 +02:00
Matthias Köfferlein
28477af15e
Added a missing header
2018-09-09 16:52:18 +02:00
Matthias Köfferlein
9544a5419b
Addd current_utc_time() again which got lost during merge
2018-09-09 16:51:54 +02:00
Matthias Köfferlein
a543950316
Explicitly allow enabling of pthreads (rather than Qt) using HAVE_PTHREADS on qmake
2018-09-09 16:51:20 +02:00
Matthias Köfferlein
4821b12780
Removed dependency of tlStream on zlib by using a delegate.
2018-09-09 16:49:21 +02:00
Matthias Köfferlein
adebdf307b
Fixed XML parser tests for Qt-less builds with expat
2018-09-08 00:44:19 +02:00
Matthias Köfferlein
28f8a1ee7d
Merge branch 'pymod' into pymod-msvc
2018-09-07 22:56:22 +02:00
Matthias Köfferlein
5be469af90
Support "klayout-bits" for building on MSVC
2018-09-06 00:23:10 +02:00
Matthias Köfferlein
b0dac7026f
MSVC compatibility
2018-09-06 00:22:38 +02:00
Matthias Köfferlein
406b2c8cd1
Fixed KD tree implementation for compatibility with MSVC iterator debug mode
2018-09-02 22:39:15 +02:00
Matthias Köfferlein
1bf4d95388
Further MSVC compatibility
...
String assertions fixed, numerical issue with dbTrans fixed, iterator
assertions fixed.
2018-09-02 19:18:42 +02:00
Matthias Köfferlein
356a468d66
A couple of changes to make MSVC work - not done yet.
2018-09-02 00:40:35 +02:00
Matthias Koefferlein
c9771f54eb
Merge branch 'master' into pymod
2018-09-01 09:37:08 +02:00
Matthias Köfferlein
af50c0f0c3
Many warnings fixed for MSVC
2018-08-29 01:46:18 +02:00
Matthias Köfferlein
23d715001b
First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ...
2018-08-04 18:02:39 +02:00
Thomas Ferreira de Lima
5bda390d82
bugfix: forgot to include tlTimer.h in tlThreads.cc
2018-07-31 17:47:01 -04:00
Matthias Koefferlein
98ecc9e47b
Fixed a typo, force update of unit tests on Jenkins.
2018-07-29 14:07:02 +02:00
Matthias Koefferlein
3fb568671d
A little refactoring - central place for DLL/.so path detection
2018-07-29 10:20:48 +02:00
Matthias Koefferlein
3d7bd0f32d
Cleaned up code
...
Moved current_utc_time out of the central tlUtils header where
it does not belong. It a time function, so tlTimer.h is the better
place. Plus it does not make sense to make this inline. This just
spoils build times on changes.
2018-07-29 10:06:11 +02:00
Matthias Koefferlein
e2f4c1874a
Fixed a build issue on some compilers.
2018-07-24 22:29:45 +02:00
Matthias Koefferlein
c9859b4f8f
Fixed some issues with long int emulation. Using long int as substitute for __int128
2018-07-24 22:08:30 +02:00
Matthias Koefferlein
7191e4faa9
Added long int (N times a word) support for emulation of __int128
2018-07-24 21:01:54 +02:00
Daniel Wang
ad1ada9b23
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-19 13:40:57 -04:00
Matthias Koefferlein
aca209c095
Using C.UTF-8 locale fallback for string tests for vanilla Linux installations.
2018-07-18 21:57:47 +02:00
Daniel Wang
5f6c265e4b
Moved current_utc_time to tlUtils and fixed tlTimer
2018-07-17 14:37:41 -04:00
Daniel Wang
106b57c676
Fixed unchanged functions
2018-07-17 14:14:47 -04:00
Daniel Wang
20db1e1f24
Added support for Mac OS X 10.11 and lower
2018-07-17 14:05:33 -04:00
Thomas Ferreira de Lima
f26576099c
missing stdlib.h import
2018-07-16 23:29:51 -04:00
Matthias Koefferlein
46b0f079cf
Skipping HTTP tests rather than disabling them
...
With this commit, tests are logged as skipped and
not just omitted, if HTTP support is not enabled
(neighter Qt nor curl)
2018-07-15 20:58:54 +02:00
Matthias Koefferlein
5351922440
Enabled minimum build configuration
...
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.
This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias
6858190a20
Fixed Windows build and tests
...
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein
bbb88c5ca6
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 07:42:14 -07:00
Matthias Koefferlein
d3b4bc7f87
Enabled pymod build via setup.py/distutils on MacOS
2018-07-15 07:42:01 -07:00
klayoutmatthias
1642129504
Fixed a typo that breaks the Win build.
2018-07-15 16:39:16 +02:00
Matthias Koefferlein
cb33753e1c
Fixed a FileUtils unit test on Windows.
2018-07-15 15:36:30 +02:00
Matthias Koefferlein
a1d8913de9
Enhanced Qt-less FileUtils test, so they cover the full functionality without Qt
2018-07-15 15:27:39 +02:00
Matthias Koefferlein
fc9783432b
Bugfix: db_plugin modules were not loaded for python modules
...
* Added unit test for this
* Provided an option for easier debugging such issues:
Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
modules (and all other binaries). Plugin loading issues can
be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein
07f69dccd3
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 11:12:29 +02:00
Matthias Koefferlein
628219080a
Some enhancements/bug fixes for Windows
...
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein
e709cad9c8
Fixed an include path for better compatibility with Python's distutil.
2018-07-14 20:24:28 +00:00
Matthias Koefferlein
5ea72893f3
Enabled build with Qt again.
2018-07-14 02:16:35 +02:00
Matthias Koefferlein
8f04fc5358
Removed some further Qt dependencies. For example, HTTPS access now is possible without Qt through Curl only.
2018-07-14 02:14:06 +02:00
Matthias Koefferlein
9ea24cb6a0
Explicitly set the locale for local string conversion test.
2018-07-13 18:35:49 +02:00
Matthias Koefferlein
b10c64907a
Made the threaded worker test a bit more reliable
2018-07-13 18:28:32 +02:00
Matthias Koefferlein
937fa96245
Some bug fixes
...
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
Matthias Koefferlein
abdde4ba19
Corrected last commit (UTF-8 case conversion) and added more test coverage.
2018-07-13 01:13:41 +02:00
Matthias Koefferlein
70a4bd7aa2
Locale-independent implementation of UTF-8 string case conversion.
2018-07-13 01:07:46 +02:00
Matthias Koefferlein
4f326572d4
Fixed one .pro file for older Qt versions
2018-07-12 23:57:00 +02:00
Matthias Koefferlein
72c3288090
Disabled thread local storage test for Qt <4.7 because this class is broken with an int argument on Qt 4.6.2
2018-07-12 23:25:33 +02:00
Matthias Koefferlein
1375bdcc9a
Fixed XMLParser unit test 5 for Qt
2018-07-12 23:19:54 +02:00
Matthias Koefferlein
03ddd495d8
Disabled brute-force shutdown test for threads on Qt - QThread is not able to deal with this.
2018-07-12 22:11:57 +02:00
Matthias Koefferlein
ca8f9fd904
Fixed Qt-based XML parser build.
2018-07-12 20:54:05 +02:00
klayoutmatthias
616c2942e1
WIP: made pymod functional on Windows (without Qt). Tests pass.
2018-07-10 23:34:30 +02:00
Matthias Koefferlein
58fd6ed143
WIP: bugfix on WaitCondition (deadlocked)
2018-07-10 00:13:06 +02:00
Matthias Koefferlein
5cfb98d9f2
WIP: pthread-based WaitCondition (simple)
2018-07-10 00:01:25 +02:00
Matthias Koefferlein
ad49c9502b
WIP: some work on the pthread-based alternative to Qt threads.
2018-07-09 22:58:16 +02:00
Matthias Koefferlein
b0f69d46a9
WIP: one first basic Thread test.
2018-07-09 00:55:41 +02:00
Matthias Koefferlein
260243a6d9
WIP: Fixed PCB import for non-Qt builds, added missing file.
2018-07-08 23:44:36 +02:00
Matthias Koefferlein
e0a23adb66
Made XML parser and writer functional with expat
2018-07-05 23:40:39 +02:00
Matthias Koefferlein
43243ae162
Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing.
2018-07-05 00:33:34 +02:00
Matthias Koefferlein
ad7a9836b0
Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing)
2018-07-04 20:26:34 +02:00
Matthias Koefferlein
642fb4270b
Fixed rba::Technology test. Now all tests are passing with Qt.
2018-07-04 20:00:41 +02:00
Matthias Koefferlein
12e0db660c
Finished file utils tests.
2018-07-04 19:33:39 +02:00
Matthias Koefferlein
e9dcadb278
Fixed a linker issue.
2018-07-04 00:25:34 +02:00
Matthias Koefferlein
1f8afab417
Bugfixed the Qt-based XML implementation.
2018-07-04 00:21:06 +02:00
Matthias Koefferlein
d1553d7586
Some more tests on tl::FileUtils
2018-07-03 23:51:10 +02:00
Matthias Koefferlein
17c7c8e1bb
Some file utils tests added (file name decomposition, fake Windows/Linux tests)
2018-07-03 23:43:57 +02:00
Matthias Koefferlein
7ede06dca5
Build fixed, basic bugs fixed and made unit test framework work. Added tests for tlString.
2018-07-03 22:09:38 +02:00
Matthias Koefferlein
bbfcd9cf9e
Made normal build work again.
2018-07-03 01:49:06 +02:00
Matthias Koefferlein
ab06ce3445
Made the code build without Qt.
2018-07-03 01:08:02 +02:00
Matthias Koefferlein
a82adbbe83
Massive reduction of Qt dependencies, but also massive refactoring.
2018-07-03 00:51:36 +02:00
Matthias Koefferlein
c532b75338
Provide an QtXml alternative through expat.
2018-07-02 22:19:36 +02:00
Matthias Koefferlein
7fca6f5f31
Non-Qt implementations of file utils - needs testing.
2018-07-02 20:29:34 +02:00
Matthias Koefferlein
239b7ca3ff
First (major) steps towards a Qt-less basic build.
2018-07-02 18:20:20 +02:00
Matthias Koefferlein
edbe0b2542
Attempt to make thread test more reproducible.
2018-06-24 15:16:49 +02:00
Matthias Koefferlein
bfbd8732f3
WIP: basic availability of LayoutView as separate component
...
- The deferred method scheduler is now automatically created
when required and when there is a QApplication
- QApplication and related have argv constructors
2018-06-03 00:54:58 +02:00
Matthias Koefferlein
6468bb7ab9
WIP: refactoring of GSI structure for separated modules.
2018-05-30 00:39:58 +02:00
Matthias Koefferlein
0b0393ce56
First version of Python module.
2018-05-26 21:31:39 +02:00
Matthias Koefferlein
108f90e382
Small enhancements for package manager
...
- Progress on download
- Some icons did not get marked (8 bit indexed image format)
- Colors in installation status dialog
One internal enhancement: progress adaptors can be
instantiated temporarily now to catch progress events.
2018-05-19 00:22:15 +02:00